Open-source Java: Part One Open source Java has a long and torrid history, rife with corporate rivalry, very public fallings-out, and ideological misgivings. But has all the effort and rumpus that went into creating an officially sanctioned open JDK been worth it?
Java co-creator James Gosling certainly thinks so - although he didn't seem entirely open to the idea in the early days.
Gosling told The Reg that putting Java under the GPL has helped unify what was a fractured community while making the code freely available has helped uptake from a grassroots up.
"In general, I'd say that it's worked out extraordinarily well," Gosling tells The Reg. "Java is far stronger today than I would have predicted two years ago."
It was 13 November 2006 when Sun Microsystems bowed to sustained and long-running pressure and finally open-sourced Java under a license everybody could agree on. What did that mean?
Sun released the Java HotSpot virtual machine and compiler as free software under the GPL license; the following year Sun released the source code of the Class library under the same license.
Gosling told us: "The license was finally changed to GPL which again both unified and fractured the community - any choice that was made would have had similar issues. All of the open source licenses have their admirers and detractors. We went for the GPL because it has the strongest protections against misbehavior."
Two years after Java was delivered under the GPL we saw the first release of the Sun-led OpenJDK project for a Java Development Kit built using free and open-source code; that spawned the IcedT project lead by Red Hat, to build an even freer OpenJDK - the OpenJDK had contained a class-path exception to exempt from the GPL certain portions of the code that Sun or others still owned and open sourcers couldn't touch. A version of IcedT shipped with Fedora in 2008 that was compatible with Sun's official spec.
The open-source genie was out of the bottle, it seemed, and living up to the dream of Java becoming more compatible with open source and Linux from a license perspective - perhaps leading to easier distribution of Java with Linux and other free and open-source software. The idea was that Java could ride a new wave of development and uptake.
Today, Sun is gone and the OpenJDK project is enjoying a fresh lease of life under Sun's purchaser, Oracle. Larry Ellison's company is rolling out a multi-year roadmap for Java with OpenJDK at its core. OpenJDK - and therefore open-source Java - has also succeeded in enlisting the support of two of the industry's most influential platform stake holders: IBM and Apple.
There have been benefits, definitely, but the progression to this point hasn't been easy and while the code is free the community is only slightly freer than it was under Sun.
Before 2007 Sun had been under massive pressure to open-source Java. Java had mostly been released under the Sun Community Source License (SCSL), an open-source-like license but one that attempted to enforce compatibility on derivative works with the official spec while also ensuring Sun continued to get paid licensing on deriviative works. Both points stuck in the throats of two important groups: open sourcers and large companies using Java who were very unhappy that Sun should be in charge.
Significant among the latter was IBM, a systems and software rival to Sun which had - and continues to have - a huge market share in Java middleware and from early on resented Sun's ownership.
Ironically for a major contributor to FOSS, Sun sent out mixed signals on the open sourcing of Java. Some at the company said they had no intention of opening up Java any further than they already had, with the highly bureaucratic Java Community Process (JCP). Sun's Onno Kluyt asked in 2004: "What do you think [the open sourcing of Java] does that people can't do today?" Bruno Souza, a prominent Java evangelist in Brazil, responded with a fairly lengthy list.
Sun's then chief executive Scott McNealy in 2004, however, called "the open-source model" Sun's "friend." Gosling, meanwhile, said that not everyone was against open sourcing of Java, and the subject was a football frequently kicked about. Gosling, who claims that he converted to open-sourcing Java in 2002, indicated to Computerworld in 2003 that the debate would hit stalemate over who might end up controlling Java and how Java might fragment.
The call to open up Java outside Sun was becoming deafening, though. Virtually all the commotion was from a small number of open-source advocates while IBM was applying its own pressure. The Cathedral and the Bazaar author Eric Raymond, then president of the Open Source Initiative (OSI), called on Sun to let Java go saying it was damaging Sun's "long-term interests by throttling acceptance of the language in the open-source community, ceding the field (and probably the future) to scripting-language competitors like Python and Perl."