April 11th, 2007
How Adobe can overcome the issues around open sourcing the Flash Player
This is a longer post, so you've been warned, but it's something I've spent a lot of time thinking about, so hopefully it's valuable.
Open Sourcing the Flash Player is a contentious issue. In some corners, the lack of open source causes Flash to be anathema to the web. Others just have technical issues with the Flash Player and want a way to fix it. I go back and forth on "open source Flash", but I'm going blame it on lack of knowledge, something which I finally got the chance to remedy recently when I had dinner with Ted Leung and Bryan Zug. At that dinner I came away with a much deeper knowledge of how open source works and also the opinion that the Flash Player should be open sourced.
With good governance, the problem of forking becomes less of an issue.
There are more than a few issues, but after chatting with Ted and learning about how open source works, I think Adobe can overcome them. The first part is the money. While Adobe gives away the player for free, they make a lot of money licensing the mobile version of the player and bundling things like the Yahoo! Toolbar with it. These are all still possible, IBM does something like this with their WebSphere products; incorporating open source technology while still bundling and licensing it. So going the open source wouldn't automatically be a revenue loser for Adobe.
There is also the issue of "governance". I had no idea what governance in the open source world meant, which was my main problem. Essentially governance is the way the project is managed; who can contribute and what requirements they need to fulfill to become a contributor. Ideally, you want attainable requirements that can determine who is qualified to check in source code. It shouldn't be just Adobe employees, but they can certainly make up the bulk. The goal of open source is that the collective brainpower of the community can come together and fix problems. There are a number of things in the Flash Player that people would like to see improved, and if someone has a fix for those, they should be able to contribute to the source code so that the entire player becomes a better product. With good governance, the problem of "forking", or having multiple distributions of the Flash Player, becomes less of an issue. It may not go away entirely, but if someone can contribute in a meaningful way to THE Flash Player, their incentive to fork it largely goes away. Adobe still has a lot of control over distribution, the community can contribute fixes/enhancements, and end users win.
Another issue is that there are parts of the Flash Player that are proprietary and can never be open sourced. Things like the MP3 format and the On2 codec can't be added to the project. There are two sides to this. One theory is that this would actually prevent the dreaded forking of the Flash Player. If the player doesn't have the media codecs that 100% of the Flash world uses, it isn't very useful. On the other hand, it could be argued that this would encourage forking. There are open source codecs for things like video and audio, and it isn't inconceivable that the open source community would create a player that used only these codecs. In the end, I think the proprietary bits of the player make forking less viable and could help keep the Flash player standard.
The final issue surrounds Adobe's other important developer products, Flex and Apollo. Flex is already fairly open, and anyone can go inspect code the SDK, but it isn't fully open source. Apollo uses Webkit for its HTML engine, which is open source, and if the Flash Player were open sourced, the two major pieces would be, but I'm not sure whether they would go forward with open sourcing the entire Apollo project. If Flash Player is ever opened up, these technologies might shortly follow, but I don't think they have the gravity that the Flash Player would bring to the open source world, so I see them as secondary (in terms of open source impact).
So in the end, what does Adobe gain by open sourcing the player? The "buzz" factor is a bit overhyped. Adobe's goal shouldn't be to placate the zealots, so that's not a valid reason. But they do gain the collective brainpower of a lot of developers. They can use that brainpower to fix some of the lingering issues and make use of creative solutions that haven't been thought of before. The engineering team for the player is first rate, but by opening it up, Adobe gives a wide range of developers incentive and ownership in the project. The increase in transparency would provide a boost to Flash at a time when it's starting to take off and pull in a some talented developers. It’s on track to do great things, and really shows no sign of stopping. But by opening it up, Adobe gets a better product. A better product means more developers which means more tools are sold. But the rise of Flash also means that Adobe has less incentive to open the Flash Player, and at this stage, I can't fault them for keeping it proprietary. I'd love to see them open it, and after talking with Ted, I think they can do it and still keep business as usual, but I wouldn't expect it any time soon. The path is open though, so we can wait and see.
Ryan Stewart, a Rich Internet Application developer and industry analyst, recently joined Adobe's Platform Team as a Rich Internet Application Evangelist. full profile and disclosure of his industry affiliations.
Subscribe to The Universal Desktop via Email alerts or RSS.









