Flash and freedom
Flash is neither free nor open. Despite Adobe's publicity efforts, its Open Screen project, and its attempt to document various parts of the Flash specifications, it is still closed and restricted.
Flash's lack of freedom is a combination of three things:
- it needs a closed player
- its sources are closed
- it is served in binary format over the internet
None of these three points is a death blow for Free Flash in itself. There are alternatives to the closed player, namely Gnash and swfdec. Neither has perfect support for AS2, and the new AS3 bytecode is completely unsupported in either. But they exist, and Gnash is getting better.
Free tools such as haxe, mtasc, and ming allow you to create SWF files with open, distributable sources. Even Adobe's Flex framework is more or less open. This isn't enough to counter the fact that Creative Suite is by far the most common way of creating SWFs, and its source format is the closed, undocumented binary fla format. Distributing fla files is completely useless to anyone with Free creation tools.
But one way or another, Free Software offers alternatives both to creation and playback, so these obstacles to freedom are at least half removed.
Flash, on the other hand, is a major part of web content that gives no automatic access to the source. Unlike the Free Software binaries that may run your operating system, there is no obligation to make the source available.
And because most sources are in the proprietary fla format, they usually can't be made available even if the developer wanted to.
And because the only 100% compatible player is proprietary, you are expected to run the content in a programme you can't check and can't trust.
It is the way Flash runs contrary to the open spirit of the web that really seals its closedness. Even if the mammoth tasks of developing free players and an effective distributable source format for Flash movies were ever complete, the foundation for a truly open format would still be missing: the "view source" that is already there for every webpage in existence.