Gnash
Gnash is a GNU Flash movie player and is the default Flash player on the XO. It is the free software counterpart to the Adobe Flash player.
About Flash
Wikipedia has a good overview of the various Flash technologies. Flash animations and games typically have the .swf extension, while Flash videos typically use the .flv extension. Flash technologies include the ActionScript virtual machine, as well as many proprietary codecs that are covered by patents.
Differences between Gnash (XO) and Adobe Flash
Many flash applications and movies that work with Adobe Flash will not work on the XO. This can be frustrating due to the large and growing base of animations, tutors, and other content available for Flash. These include:
- Nortel LearniT Collaborative Program (pls confirm if it works/does not work)
- Shiksha Collaborative Learning Portal from the Indian Industry Confederation
The Gnash team faces several challenges. The primary challenge is the number of basic encoding schemes, such as MP3, that are covered by patents. While Gnash supports these proprietary codecs, the OLPC cannot or will not ship codecs to support the proprietary schemes. Another challenge is that Adobe had not provided full information about SWF files, though a recent Stanford class and contributions to Mozilla's Tamarin project points towards some additional openness. Note that SWF files continue to evolve. While Gnash provides good support for SWF version 7, support for later version is more challenging. Finally, Gnash depends on a number of rapidly evolving libraries, such as Gstreamer which hamper stability.
The easiest way to get Flash to work with Gnash is to get developers of the Flash content to test with Gnash. For example, a developer might choose an open codec such as Vorbis or Theora. Streaming these format in full screen would be as simple as a five line Gnash script.
Shipping Adobe Flash Controversy
Adobe provides Flash under a free, but somewhat restrictive license. Adobe's license clearly restricts any party besides Adobe from making Flash libraries available on the Internet, and may make it possible to distribute within an Intranet. Some, such as Bryan Berry, have speculated that providing Flash plug-ins as downloads in certain deployments would further the educational goals of the overall project.
Other voices suggest that providing more incentives, better tools, and more complete implementations for Flash developers may help them to embrace open formats. There is some undesirability of a long term dependence on a commercial entity for core functionality or core file formats.
Example Videos
Playable in Gnash on the XO
- YouTube, part of the Not-Evil Empire
Playable on the XO using neither Gnash nor Flash
- Dailymotion demos of new site
Not playable in Gnash on the XO
- Sesame Street Workshop (including Elmo's World, etc)
- OLPC.TV
- Mary Lou Jepsen keynote at Greener Gadgets Conference
- Blip.TV
- Revver.com
Upgrading Gnash
Enabling and disabling Gnash
You can uninstall or reinstall Gnash as you would any package: from a terminal,
su yum remove gnash -y
or
yum install gnash -y
After which you will want to reboot.
Links
- Gnash homepage
- Gnash mailing list : gnash-dev /at/ gnu.org