Apologies to all commenters. All comments got routed to Spam. I hope that I got them all back. will start parsing through them
Flash is open.
No, it’s not pure open source. It’s not a perfect standard with national bodies arguing over each must, will, or shall.
But in follow the comments from our CTO’s posting “Open access to Content and Apps”, I noticed that there are comments about Flash not being an “open” technology and questions about why we don’t open source the Player, so I thought I’d jump in and provide some details to help clear up some misconceptions and explain how open we are with the Flash Platform.
(Might I also suggest you check out this “Open at Adobe” video on YouTube.)
The main reason we can’t release Flash Player as open source is because there is technology in the Player that we don’t own, such as the industry standard hi-def video codec, H.264. Adobe pays for that codec so video plays reliably worldwide, across browsers and OS’s. So we make it as open as we can – by releasing the specifications.
The Flash file format (SWF) specifications are open and unrestricted, so any company – even Apple – can build their own Flash Player if they want. Also freely available are related specifications for the Flash ecosystem: RTMP, FLV/F4V, AMF, and MCD.
Flex – the framework to make rich Internet app (RIAs) is open source; the Text Layout Framework, which is the same text engine in Flash Player driving typography, is open source; OSMF is an open source framework for building video deployment solutions using the Flash Platform. Tamarin, the virtual machine powering Flash Player is open sourced at Mozilla.
For more info on Flash Platform openness as well as to follow all the open initiatives at Adobe, visit opensource.adobe.com.

Dave, I fully agree that the Flash player and formats it uses are largely open. I use these arguments to promote Flash in my work environment. But as you said Flash isn’t fully open. Parts that Mozilla or Webkit teams could use to better embed Flash Player with HTML (why not imagine a video tag launching a Flash video instance or a DOM fully accessible plug-in) are closed.And anyway the Flash Player source code include dependencies to proprietary libraries or libraries under licenses, there is no limitations to open the parts under licenses that Adobe owns. Opening the whole Flash Player source code (except proprietary Fraunhofer MP3, VP6, MP4 codecs, Nelly Moser libraries) is like opening the parts given to the Tamarin project.It’s the conviction of more and more people and it’s why there is now an online petition to ask Adobe to open source Flash Player http://www.openplayer.net/
So how come the Chromium project is open sourced, and the Chrome browser natively plays H.264? Because they have thought of a simple solution: opensource ALL CODE, EXCEPT for H.264 part. Or is it the case that Flash player’s code blob is so bad that you cannot separate the licensed parts?Without a reference implementation, such as published FP source code, publishing SWF standards is useless.Google openly says that it will commoditize any technology that it does not directly make money on. They have done it with Android vs Win Mobile, with Chromium vs IE. This is an existential threat for Adobe. Open source it now, or follow the path of Lotus Corporation.
H.264 is a bad example. You could easily use an open-source H.264 decoding library. Also, I don’t see the relevance of your other software components being open source.
Why don’t you implement an open codec such as theora and go 100% open-source then? Or does h264 decode in flash use hardware acceleration for decoding?That would stop apple’s whinning.
I’m not familiar with all of the technologies at work here, but are you saying that there is sufficient documentation for someone to build a *complete* replacement for your proprietary flash plugin?I note that there are at least two projects trying to do so for Free Software desktops, Swfdec and Gnash, but neither is a complete replacement, and my understanding was that neither has all of the documentation they need.
Just to argue the other side for a moment.Last year, Adobe killed an open-source project (hosted on SourceForge) called “rtmpdump” which is an implementation of RTMP and FLV. Using the evil DMCA no less. Details here:http://linuxcentre.net/rtmpdump-can-be-used-to-download-copyrighted-works-like-a-web-browserWhat about Flash servers? Conveniently missing in your post is the fact that the Adobe Flash Player has a “special” handshake which keeps changing in the last few released versions. The details of which are not documented in the official “open” RTMP spec. What is the guarantee that Adobe will not change something on the server side in the future and screw-over all open source implementations?More importantly, can open source implementations of Flash such as Red5 and RTMPD – which have implemented compatibility with Flash Player 8 and above – expect to be sued by Adobe in the future? It is worth mentioning that Adobe opened up the RTMP spec only last year, ages after the open-source community had successfully reverse-engineered everything – after all their pleadings had fallen on deaf years. Anyone who cares to download the official RTMP spec will be greeted with an intimidating legal agreement. IANAL but I’m a little skeptical of the claim that anyone can build a Flash Player.The fact that Adobe has a history of legally challenging anything with “Flash” in the name does not bode well for your attempts to look more “open”, really. Examples below:http://blog.deconcept.com/2006/04/21/flashobject-to-become-swfobject/http://blog.activeden.net/site-news/important-news-flashden-is-changing-its-name-to-activeden/
This doesn’t solve the real problem, which is that Flash is a buggy piece of shit that many of us unfortunately have to rely on. The Linux version has never worked well. It crashes daily, kills the audio system, and typically freezes in movies. (The wonderful H.264 variety…) It’s just not good software. If it were open sourced, people would help fix these things. If H.264 is the problem, then open source the whole player minus a single shared library. I doubt this is the issue though. You keep it wrapped up for what you believe to be your own competitive advantage, but instead I think it will result in the eventual decline of Flash. Closed technologies are just not going to cut it on the web when open alternatives exist.
From Wikipedia:On 20 January 2009 Adobe announced it will publish the RTMP specification.On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hostedimplementation of the protocol.And now you want people to believe that:The Flash file format (SWF) specifications are open and unrestricted, so anycompany – even Apple – can build their own Flash Player if they want. Alsofreely available are related specifications for the Flash ecosystem: RTMPFLV/F4V, AMF, and MCD.
From Wikipedia:On 20 January 2009 Adobe announced it will publish the RTMP specification. On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hosted implementation of the protocol.And now we are about to believe that:The Flash file format (SWF) specifications are open and unrestricted, so any company – even Apple – can build their own Flash Player if they want. Also freely available are related specifications for the Flash ecosystem: RTMP FLV/F4V, AMF, and MCD.But will the Open at Adobe moderators post this comment?
From Wikipedia:On 20 January 2009 Adobe announced it will publish the RTMP specification.On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hostedimplementation of the protocol.And now we are about to believe that:The Flash file format (SWF) specifications are open and unrestricted, so anycompany – even Apple – can build their own Flash Player if they want. Alsofreely available are related specifications for the Flash ecosystem: RTMPFLV/F4V, AMF, and MCD.
From Hacker NewsFrom Wikipedia:On 20 January 2009 Adobe announced it will publish the RTMP specification.On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hostedimplementation of the protocol.And now we are about to believe that:The Flash file format (SWF) specifications are open and unrestricted, so anycompany – even Apple – can build their own Flash Player if they want. Alsofreely available are related specifications for the Flash ecosystem: RTMPFLV/F4V, AMF, and MCD.
I believe the main problem arising for any language is one of the tools available. Developers will use whatever technology allows the to do what they need, in less time. This still means Flash for some use cases now, but there are literally hundreds of developers moving into any conceivable direction to offer the best tools for turning Javascript into a more productive general purpose language.In terms of emerging technologies, the community is thriving around Javascript, much more so than it is around Flash. So Adobe has to ask what it is that drives these developers to adopt Javascript rather than Flash. I can’t see many answers to that, other than the fact that Flash is less open then this main competitor.
Hello Mr. McAllister,I’m glad to hear that Adobe has opened as much as they have. That’s the right direction; I’m glad you’re doing it.I’m a little concerned about your claim that anyone can implement SWF, RTMP, and so forth. Didn’t Adobe issue a DMCA takedown when someone implemented RTMP?Here’s a copy of what appears to be the takedown notice: http://www.chillingeffects.org/anticircumvention/notice.cgi?NoticeID=25159I recognize that that the takedown notice says it was issued because the implementation “can be used to download copyrighted works,” not because it’s an implementation of RTMP. That’s a silly argument– every web browser that uses a Flash player downloads content before it plays it. How could one implement RTMP, the “Real-Time Messaging Protocol” without sending any messages?I’m willing to believe that there might be some misunderstanding here– maybe there are two parts to the RTMP spec, and only one is open, or something like that. But at the outset, I can’t reconcile what you’ve written with the rest of the evidence that I see.Perhaps you could explain what I’m missing?
In that case, why not open source the parts of Flash Player that Adobe does own? There’s far more fascinating things in Flash Player besides Tamarin: the rendering engine; the class libraries; the GPU backend in 10.1, etc.Adobe would gain a lot of good will towards Flash as an open standard. The community can help audit and improve the Flash runtime; port Flash to more devices and environments; and truly have the freedom to innovate on the Flash platform.An open SWF format specification is wonderful for older versions of Flash when its features were relatively simple, but the more complex parts in recent versions are difficult to recreate. It will happen eventually, why not be there to guide the community?
Wow, this post is 2 days old and still has no comments? Maybe you are censoring them?Pretty strange for a post about being “open”.But don’t worry. The tech community is reading and debating your posts elsewhere, dismissing every claim you make. With posts like these you are making things only worse.
Out of curiosity, why not offer just the h264 codec as a binary? The issues with flash player stability and performance are not complaints about the industry standard codec (which is used by other apps as well).I use linux and the flash plugin frequently crashes or uses100% CPU (I can always tell b/c the computer’s fan comes on for no apparent reason). This isn’t just when I’m watching a video, it seems to happen randomly as a consequence of pages that use flash. The only solution is to kill the process running flash (it requires kill -9).It is worse on 64 bit linux, but 32 bit linux is not smooth sailing either.The open source community would very likely get to the bottom of these issues quickly, and make linux the platform of choice for flash. Linux is a good fit, btw, since it’s a thin, light OS that is free and could host app suites built mostly on flash and flex and be easy to maintain and support (not to mention all the linux based mobile devices)…I have to say I’m looking forward to HTML5 improvements at this point, because I’ve been using Flash on linux for 10 years and the situation has not improved significantly.
Of course Flash is not open.I would be interested in seeing some response to the commentson Hacker News (http://news.ycombinator.com/item?id=1107539)discussing, among other things, the DMCA takedown notice lastyear of a sourceforge implementation of the RTMP protocol.
first of all: bullshit.also, which h.264 decoder would that be, then? not coreavc, because playing any mpeg-4 video, be it ASP or AVC, in flash, turns the machine into s**t, which isn’t the case with coreavc. there are plenty of free, open-sourced mpeg-4 ASP/AVC decoders available that you could use, but why didn’t you? i just don’t buy the reason you stated above.
Y’all should open source the Adobe-owned parts of Flash, then. There are free players for e.g. H.264. There are patent issues remaining, but in sane parts of the world, e.g. Flash, with H.264 from MPlayer, would be a viable solution.The pro would be that far fewer people (myself included) would be working to undermine Flash in any way possible.
“The main reason we can’t release Flash Player as open source is because there is technology in the Player that we don’t own”response: just open source the rest , let the world face the other problem ( closed sources parts ), it is not your problem .You just open source what you can.”such as the industry standard hi-def video codec, H.264. “again, open source the flash player without H.264. Don’t worry about it. This is just a codec. It *will* be replaced, sooner or later.
I’m glad to see you are commenting on this issue. Have you considering modularizing the player so that you can open source everything except the plugins that use proprietary technology like the H.264 codec? This is what Linux distributions do, they separate the free and the non-free elements very neatly.
So where’s the working group where we can influence the future of the SWF spec?
Weak.You can get around this by open-sourcing parts of it a la OpenJDK (Java). The community can then come and repair the weaknesses by using FFmpeg for h264 or whatever the case may be.Having open source flash, even without video, would be useful to the community.Get your open source evangelicals together with your lawyers and see what you can work out. Or fade into oblivion as the wider web community phases Flash out with HTML5 and JavaScript.
“Adobe pays for that codec” — does Adobe pay for some closed-source decoder implementation, or does it use a free implementation yet pay for a license from patent holders?
“The main reason we can’t release Flash Player as open source is because there is technology in the Player that we don’t own, such as the industry standard hi-def video codec, H.264. Adobe pays for that codec so video plays reliably worldwide, across browsers and OS’s. So we make it as open as we can – by releasing the specifications.”Riiiiight. And nowhere in the world is there open source technology that can take advantage of proprietary components. In fact, since all implementations must be embedded at source level, it is impossible to abstract the player from the codec and deliver a proprietary codec alongside an open source player. Of course.Look, Flash Player isn’t open source because Adobe doesn’t want it to be. If Adobe wanted to open the Flash Player sources, Adobe’d find a way -it’s not an insurmountable technical challenge. And since Adobe would have complete freedom in choosing – or authoring – the license under which the code would be released, there are no restrictions such as the GPL not permitting dynamic linking with proprietary components.Feh.
“as open as we can” is a lie.You could still release the source code for the non-patented parts;you could allow modification and redistribution of the code and binaries;you could include the “secret” parts in the published RTMP specs.Yeah, you can still call you “Open” as that word has lost its meaning since some time now.It’s not the first “Open” cheat from Adobe (DWG anyone?)Best wishes
You can open the source code to the parts of the Flash Player you do own. Your commitment to openness sounds imaginary.
OK so why do you not engineer the Player such as the player itself can be open source while the closed parts can remain as plugins? This is an engineering job that you can very well do.
That’s a really weird reasoning. You could release all the parts that are not encumbered by propriety tech.Except of course if Adobe doesn’t have the rights to the source code, and licenses *implementations* from other parties, which is a different problem than patent licensing. In that case you could do the same as so many other parties did with projects much bigger. (eg Sun with Java, or recently Nokia with Symbian): rewrite those parts yourself, or buy the rights to the source from whoever did make it.In fact, releasing the source code of a H.264 coded does not even violate any patents. Only distributing a compiled version. (example: LAME MP3 encoder).Of course, Adobe could have signed some weird agreements for licensing these patents. But then they could still release Flash without those part. Eg Apple could plug in their own H.264 implementation.
> The main reason we can’t release Flash Player as open source is because there is technology in the Player that we don’t own, such as the industry standard hi-def video codec, H.264Then why is Chromium open? What stops you from open-sourcing part of the player, in say, “flashium project”, so that people can review and improve it (rendering, audio, platform integration, security, stop-being-overall-shitty, etc), and then add the proprietary components in a closed source version, like Google does with Chromium and Chrome?
So the ENTIRE codebase has IP from 3rd parties that you are licensing?If you release enough of it that people can work on it themselves maybe you wouldn’t have Mac and Linux users griping about the fact that Flash has horrible performance and your ‘performance improvements’ for 10.x are a joke if you want to watch HD video (compared to Silverlight, which hums along nicely on the Mac)
I recently contacted a synthesizer company about the release of the source code of a computer editor for a discontinued instrument. They told me that they couldn’t even consider the possibility of doing so, as they did not own all the components of the software. This saddened both me and the contact I made at the company. Ironically, open source software would have provided this company with greater freedom and rights over their product than the closed design which their use of proprietary components necessitated.I find it interesting that inclusion of proprietary components has affected Flash in the same way. This is a consistent lesson, one which I hope Adobe learns before its stellar products are displaced by open (and often inferior) alternatives.I used to work at One Laptop Per Child (I still volunteer for them sporadically and retain my old email address). We faced enormous customer dissatisfaction because of poor integration between the Flash plugin player and Linux. Functional Flash support was probably the most important feature we could never deliver to the million students and teachers using the XO. We would have gladly contributed resources to improving the player’s performance on Linux and on our uniquely underpowered hardware, but we had no opportunity to do so.I hope that your group at Adobe understands the importance of fully embracing the open paradigm.There are few costs. To move to a fully open model, the next version of Flash could drop proprietary components (such as H.264) in favor of open ones such as Ogg/Vorbis. Adobe would stand to save a significant sum in licensing fees.Even if all aspects of Flash and the Flash player are opened, Adobe will not ever need to relinquish its position as market leader in technology associated with Flash. But it will be forced to relinquish its position as market leader in multimedia content for the web if Adobe does not adapt Flash in response to the changing direction of multimedia content on the web. I sense a strong incentive among the web development community to ditch Flash as soon as open alternatives are available. Much of the frustration revolves around the closed aspect that Flash presents to developers. Developers of content and applications greatly prefer the prospect of multimedia rendering systems which are fully integrated into browsers. If Flash can be opened “all the way” then deeper integration between browsers and Flash content might be achieved. This pull would then be relaxed and Flash would enjoy an extension of its time in the limelight of the web.Thank you,Erik
Completely agreed. Flash might not be pure open source, but it allows developers using only open source and other freely available components to deliver professional applications. And probably most of those trying to lay critics about Flash are motivated by other concealed non-open-source interests. Since Adobe took control of Flash technology, there is no need to reinvent the wheel with such powerful toolset available: that would only slow down progress.
That does not seem like the reason to me; like Java did before, you could open sourcethe pieces you own and strip the pieces you don’t.
Whilst Flash has gone a long way toward being open, it isn’t yet truly open and it is disingenuous of you to suggest it is. The SWF spec does not fully cover the full specification of the Flash Player. For example, there are opcodes used by Alchemy that are not documented in the SWF spec.
This of course is a load of horse manure, which is just about normal coming from adobe. Jobs is right; you ARE lazy. Its more than possible to open source PARTS of flash, while leaving things like H.264 codecs OUT of it. It’s done all the time.So whats the real reason? Is it ugly code that you’re embarrassed about? (wouldnt be surprising) Are you still trying to screw Apple? (wouldnt be surprising)Out with it, adobe. Your customers are smarter than you think they are, stop insulting us.
Have Adobe considered switching to a genuinely free and unencumbered video codec?
Your excuse makes no sense. Adobe could easily release a version of the Flash code with the H.264 bits removed, thereby avoiding all patent problems and the result would still be quite useful.
The problem with your current level of openness is that we are stuck waiting for Adobe to make bugfixes (which if you look at chrome, safari, or firefox they normally just give up on in your bug reports) or support additional platforms (the linux experience is still miserable with flickering video and poor utilization of 64bit architectures and graphics cards). Now there exist several attempts to follow your specification to create an truly open flash player and no-one has been able to do it properly. Now we are talking about a community that has some of the best developers around, so it clearly isn’t as easy as following some specification you have. So your player contains some patented code, right? Why not release the code without it, the community has it’s own open interpretations and can take care of the licensing issues itself if necessary.This is the same position Sun was in with Java, many people kept their mission critical apps away because they were worried about vendor lock-in despite their excellent documentation. Then they open sourced it and we get new languages running on the JVM, full community support, etc. This is an existential threat to a core Adobe property, if public perception doesn’t change soon you will lose in the end to HTML5. With Google dumping support for old browsers and Apple blocking flash from the ‘i’ world, your market share no longer approximates to 100%. Once the video and game content providers have an HTML5 userbase to work with, the end users won’t even have a say in the matter and probably won’t even notice the change.
Interesting discussion about the post!http://www.reddit.com/r/programming/comments/azd2k/why_flash_is_not_open_source_the_official_story/
Thanks for these explanations
Although Flash is often a pain in my ass, I can understand that is about as open as it can be and that’s fine with me.Most other companies wouldn’t even open their file spec making it easy for others to clean room a new player.
What are the other reasons? If h264 is a blocker… it could be released without that.
Dear AdobeFlash on our operating system is broken. Please fix it our allow us to.-Linux
Your argument for Flash is terrible. If HTML5 decided to use H.264 in its W3C Candidate submission there is already a well-established way to license the H.264 patents and Apple supports it completely. In the event Theora would be used we’re looking at a 100% free and open platform for development, albeit without Apple’s blessing.Apple doesn’t want to build their own Flash player because Adobe can’t fix 16 month old Mac OS X Flash bugs
Why not include support for open video such as theora?
So get rid of H.264!
LOL! Who’s lazy?I agree with some Steve’s thoughts – just some – but, in truth, they want that the Adobe to develop a specific player for them, but don’t want pay for this. So, if they want something better, then, pick up (and read) the open specifications and builds with yours own hands.Best Regards from brazil.
It’s open in name only. You still charge something like $800 for the software and that is just the beginning. It’s difficult to use, so we still need training and since AS is so hard to learn we need to hire consultants who specialize in that. Considering the way people use Flash the most (flashy but ultimately disappointing websites) and to watch video — there are better alternatives and will be even better ones (jQuery and HTML canvas tag).
“The main reason we can’t release Flash Player as open source is because there is technology in the Player that we don’t own…”So why can’t Adobe open the source for the parts of the player they DO own? This would still be very valuable to someone who wants to make their own player.
So open source everything but the proprietary components; make them into plugins if that’s what you have to do. We are all sick of crashes because Flash. Even if we cant debug down into the proprietary plugins, at least we can debug 90% of the other cases.What would keep you from doing that? Sounds like you are hiding behind H.264 so that someone else doesn’t make a better player than you and Adobe will lose it’s control over Flash.
So why not open source everything except the proprietary stuff Adobe pays for? It’s entirely doable.
Why not modularize the parts of the source code that you can’t release to the public so that you can have a public and private code base which releases everything it can to the open source community, gets all of it’s benefits, but doesn’t provide code to the proprietary codecs that you’re under a legal obligation not to release? Doing this would provide an enormous amount of support for people trying to use Adobe flash player on new platforms, improve it’s capabilities on existing ones, and help Adobe by introducing a community of developers who would be willing to help the flash player project thrive.