Sun's open source legacy
Code and compromises
by Richard Hillesley
"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete" - R. Buckminster Fuller
The aftermath of Oracle's purchase of Sun and the subsequent forking of a number of open source projects, has highlighted the necessity to protect the integrity of the commons and to keep commercially sponsored open source projects honest, and true to the principles of free and open source software.
When asked in 2006 if open source was going to be disruptive to Oracle's business, Larry Ellison told the Financial Times: "No. If an open source product gets good enough, we'll simply take it." The choice of phrase, if not the context, tells its own story.
The attraction of open source to a proprietary software company is that it gives access to communities of users and developers who bring with them reductions in cost, collaborative opportunities, software libraries, and opportunities for high quality input from all kinds of sources.
Open source also reduces the cost of development of commodity components which have a secondary usefulness to the enterprise. The most obvious manifestations of this are projects such as the Linux kernel project, Eclipse or Apache. Employing and contributing to such projects reduces development costs and encourages open standards.
Open standards are useful because they reduce barriers to entry for technologies that were 'not invented here'. Corporations, however, tend to be in favour of proprietary standards when they operate in their favour, and it follows that very few corporations take a consistent stance in standards committees, just as there are corporations that make generous contributions to free software and also enforce software patents.
It is in the nature of corporate culture that the primary objective is to maximise the return on investment for shareholders and to take an unsentimental view of open source components.
News from Batavia
So it isn't altogether surprising that Oracle has taken a pragmatic view of the projects it has inherited from its purchase of Sun Microsystems. Some projects which are complementary to its existing business, such as VirtualBox, may thrive under Oracle's stewardship. Others, such as OpenSolaris, have reverted to closed source development, and Java related technologies have become the subject of a patent suit between Oracle and Google.
Stephen Colebourne foresaw a problem with the IP that was locked into the Java SE 7 specification as far back as April 2009. Apache developers were involved in an ongoing dispute with Sun over the licensing terms offered by Sun to the Apache Harmony project. Colebourne observed that there is no specification for Java SE 7:
"And Oracle as new masters of the JCP could choose to keep it that way. And without that specification and JSR, there is no testing kit, and there is no way to pass the IP from all the contributors to the differences between Java SE 6 and Java SE 7 to the completed Open JDK 7... The problem isn't that the code of Open JDK 7 isn't Free and Open under the GPL. The problem is that there is no specification and JSR to grant the necessary IP rights.
Thus, the new 'Java Trap' is that an owner of Java could still choose to take the next version of Java back into a closed world again, simply through its control of the IP. Sure, existing programs would still run on Open JDK 6, but that could be the one and [only] Free and Open version of Java SE... Some of you will be shouting 'but we'll fork Open JDK 6' in that scenario. But I'll say it again - you can't get the IP! You can't get certified as being compatible if there is no specification! The Trap is Back."
Colbourne later recounted that "Shortly after the merger I spoke to a Sun employee who was now employed by Oracle. Their view was that Oracle had no idea what they had really bought with Java. The meaning was that Oracle did not understand the role of the wider community in the success of Java". Since then, a specification for Java SE 7 has been released, but Oracle's intransigence on the IP issue has led the Apache Software Foundation to leave the JCP.
Coincidently, James Gosling, the "father of Java", made the claim that "during the integration meetings between Sun and Oracle, where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle..."