If OpenOffice.org turned out to be a partial success whose story is still unfolding, the next big opening up of proprietary code – Eclipse – has definitely been a resounding success. That's in part because IBM took a fairly hands-off approach from the start:
The community will be managed by a multi-vendor organization and will include participation by industry leaders such as IBM, Merant, QSSL, Rational, Red Hat, TogetherSoft, and others. Later this month, the community will announce details about the organization, including the multi-vendor board of directors.
That provided the fledgling community with crucial support without allowing one company to monopolise it. IBM then withdrew further when the Eclipse Foundation was formed:
"IBM, a leader and champion of the Eclipse movement, is committed to continuing our significant investment to improve the Eclipse platform, frameworks and related tools," said Lee R. Nackman, IBM vice president of desktop development tools and chief technical officer of Rational software." To deliver on the promise of Eclipse, accommodate future growth, and further enhance the value of this technology to the open community, IBM is proud now to help launch Eclipse as an independent not-for-profit organization."
That combination of continued support and independence seems to be the key to successfully turning proprietary code into standalone open source projects.
If Eclipse is a perfect example of how to do this, the case of Symbian is the exact opposite. The Wikipedia entry describes the sorry saga well:
Symbian was intended to be developed by a community led by the Symbian Foundation, which was first announced in June 2008 and which officially launched in April 2009. Its objective was to publish the source code for the entire Symbian platform under the OSI- and FSF- approved Eclipse Public License (EPL). The code was published under the EPL on 4 February 2010; Symbian Foundation reported this event to be the largest codebase transitioned to Open Source in history.
However, some important components within Symbian OS were licensed from third parties, which prevented the foundation from publishing the full source under EPL immediately; instead much of the source was published under a more restrictive Symbian Foundation License (SFL) and access to the full source code was limited to member companies only, although membership was open to any organisation.
In November 2010, the Symbian Foundation announced that due to a lack of support from funding members, it would transition to a licensing-only organisation; Nokia announced it would take over the stewardship of the Symbian platform. Symbian Foundation will remain the trademark holder and licensing entity and will only have non-executive directors involved.
So, not only was some of the code held back (as also happened with Netscape), meaning that it was hard for open source programmers to use it for real-life applications, but what financial support the Symbian Foundation had was soon withdrawn. The end-result was a code donation that lacked both freedom and resources – a fatal combination that made Symbian's failure as an open source project almost inevitable.
The move to open up Symbian in the face of the rise of modern smartphone operating systems (notably the semi-open Android) was a classic example of too little, too late. Some people believe the same is true of the latest major code donation: HP's gift of webOS to the open source world:
HP today announced it will contribute the webOS software to the open source community.
HP plans to continue to be active in the development and support of webOS. By combining the innovative webOS platform with the development power of the open source community, there is the opportunity to significantly improve applications and web services for the next generation of devices.
However, that same press release does suggest that HP has learned from the successes and failures of earlier code donations, since it contains the following key statements:
HP will engage the open source community to help define the charter of the open source project under a set of operating principles:
- The goal of the project is to accelerate the open development of the webOS platform
- HP will be an active participant and investor in the project
- Good, transparent and inclusive governance to avoid fragmentation
- Software will be provided as a pure open source project
There seem to be two key commitments there: investment from HP, and "pure" open source with "transparent and inclusive governance". Assuming HP makes good on those promises, there's no reason why webOS shouldn't flourish as an open source project – even if it doesn't ever become a serious rival to iOS or Android.
Against that historical background, it's worth looking at those newly-donated Google projects to see how they compare. The open source Android App Inventor project will be run by the MIT Center of Mobile Learning; the good news is that an MIT press release is entitled "MIT Launches New Center for Mobile Learning; Receives Initial Funding from Google Education", which suggests that at least some funding is being provided by Google alongside the code.
The situation for its Sky Map is less clear:
Today, we are delighted to announce that we are going to share Sky Map in a different way: we are donating Sky Map to the community. We are collaborating with Carnegie Mellon University in an exciting partnership that will see further development of Sky Map as a series of student projects. Sky Map’s development will now be driven by the students, with Google engineers remaining closely involved as advisors.
It's not obvious whether that "collaboration" involves foldables, or is just the code plus engineers' time. Let's hope it's the former, since it's pretty clear that opening up proprietary code on its own isn't enough to create a successful open source project. Or as Jamie Zawinski put it so memorably in his wonderfully-written lament on the initial failure to turn Netscape's gift into anything usable:
Open source does work, but it is most definitely not a panacea. If there's a cautionary tale here, it is that you can't take a dying project, sprinkle it with the magic pixie dust of "open source,'' and have everything magically work out. Software is hard. The issues aren't that simple.