Adobe cites bad blood for closed Flash
Wary of corporate agendas
Everyone loves open source - well, everyone apart from Microsoft, that is. The only problem with open source is deciding how much code control you're willing to relinquish, especially when open source puts your precious bits and bytes - and ultimately your own product plans - into the hands of your competitors.
Adobe Systems' Flash has long dominated PCs and the web, but the company has been under slowly mounting pressure to open source the player's source code.
This came to a head recently when Dion Almaer, co-founder of Ajaxian.com and Google's open web advocate, delivered a talk on the state of AJAX at Google Developer Day in London. I asked Almaer why Google makes little use of Adobe Systems' Flash, YouTube aside, and he gave a forthright answer.
Flash is not "open enough," he said, explaining that the Flash player is not open source and its development is not driven by the community. Google likes the technology, he added, and its closed-source status is a matter of ongoing discussion.
I put this to Dave McAllister, Adobe's director of standards and open source. "Dion and I have exchanged opinions about this," he said, adding that "there are constant discussions with Google," though he could not confirm any on this specific matter.
McAllister noted the SWF format for compiled Flash content is an open specification and that the Flex Software Development Kit (SDK) for building Flash content is open source, but said there is little prospect of open sourcing the player itself.
"Sixty-five per cent of the code is not owned by Adobe," he claimed. "We spend an incredible amount of money to license audio and video codecs that we then give away for free. If we open sourced the code of the Flash player, we would immediately fragment the video runtime market, because we can't give away those codecs."
McAllister rejected Almaer's point about the community, saying there is "peer participation, a visible roadmap, open bug bases, and open discussion between engineers and developers...the only open source principle that doesn't get communicated is the actual source code." Ah.
Haven't we been here with Sun Microsystems, before it eventually open sourced Java?
McAllister was dismissive of the comparison.
"The lesson learned from the Java exercise is that a marketplace that is losing speed can attempt to regain some of it from open source. We can certainly learn from [Sun] that it's very easy for competitors to sabotage your own efforts," he said.
"It's possible for competitors to take interesting bits of your technology and use them in ways that provide an unfair advantage to them. We've seen that happen in some of our own open source efforts, which is why we are very cautious about responses to a single company rather than responses to a community."
Mike Shaver, vice president of engineering at the Mozilla Corporation, expressed surprise at McAllister's concerns over Tamarin and TraceMonkey. "The nanojit code he's referring to is code that we're continuing to contribute to, we did the first 64-bit port of that over the summer, and we're continuing to work on improvements in concert with Adobe's engineers. We're quite happy with the collaboration, and everything we've heard from Adobe's engineers is that they're happy to see the code used in that way."
What about fragmentation? One of McAllister's issues is that runtime consistency is more important than open source, and noted open-source projects fragment when corporate interests are allowed to dominate. He contrasted the state of Flash with that of the browser, which has become fragmented.
"You have to test for all the popular browsers, and with Google now adding Chrome there's yet another one. Even though there is a standard for HTML, every browser implements it differently," McAllister said.
Shaver responded to me, saying that Mozilla's is in daily contact with the Adobe engineers working on that layer of the jit (just-in-time compiler). "We're trying stay as close as we can. Certainly we're going to need things in the technology that are not going to be as relevant to Tamarin and vice versa, but we're very happy to be sharing that codebase with them. There's a long history," he said.
"Even before Tamarin, Adobe was using the Mozilla engine, SpiderMonkey, in their products, and that was a great collaboration for both of us. I don't think McAllister's opinion is necessarily representative of Adobe at large or the engineers that are working with us." ®