Originally Posted by Habañero
not Flash; the Flash Player:
"The core engine of Flash Player (AVM+) is open source and was donated to the Mozilla Foundation, where it is actively maintained. The file formats supported by Flash Player, SWF and FLV/F4V, as well as the RTMP and AMF protocols are freely available and openly published. Anyone can use the specifications without requiring permission from Adobe. Third parties can and do build audio, video, and data services that compete with those from Adobe.
There are no restrictions on the development of SWF authoring tools, and anyone can build their own SWF or FLV/F4V player.
Flex, the primary application framework for the Adobe Flash Platform, is also open source and is actively maintained and developed by Adobe and the community."
AVM+ is not 'Flash Player', not even nearly so. AVM+ (aka Tamarin) is just
The fact that the specifications of the SWF format (which is just the container), ActionScript and FL4/FLV are publicly available is nice, and the fact that anyone is allowed to write a Flash player looks all great and mighty reasonable from Adobe, but none of these imply that you would actually be able to do it, if the specs are incomplete or opaque (where they refer to other specs which are _not_ open).
As 'open standards' go Flash is a lot like Microsoft's OOXML: the file format is known, but to interpret and implement certain things in it, you need more specs, some of which are not availabl. Such as the binary blobs in OOXML that can contain data generated from older Word versions which is verbatim copied into the OOXML document for backwards compatibility. Large parts of Flash, such as the DRM, video and audio codecs, probably font rendering and PDF functionality etc, are not documented and/or patented.
In other words it doesn't matter how much Adobe says you are 'free to implement your own Flash player without restrictions', you would simply not be able to do so, at least not up to the level of Adobe's own player.
To be fair, Flash is not "old technology". (though it's been around a long time, it's been significantly upgraded about every 2 years --contrast that with HTML, which is finally getting a 10-year-in-the-making update--one could just as easily call HTML OLDER technology).
Every time I see how my Linux-based HTPC with a paltry single-core, 1st-generation Atom at 1.6Ghz plays 1080p MKV's buttery smooth by using the GPU, even if it's playing Youtube through its own decoder (XBMC with youtube plugin), I remember how playing full-screen, 480p SD Flash content from YouTube through the Adobe player is like a 5fp slide show on that same machine. How come my iPhone 3GS with a 600Mhz ARM CPU plays HQ Youtube (720p) through HTML5 absolutely perfectly, yet a 1.6 Ghz Atom doesn't even pull off the same file at 480p?