I spent the morning at Sun for the launch of Java as open source software. The key details: as of today, components of Java SE and ME have been released under GPL version 2, with more components to come. The specific components released now are javac language compiler, the Hotspot virtual machine, the JavaHelp system, the ME Feature Phone code for mobile data services, and the ME testing and compatibility kit framework. An open source release of the remainder of the Java Developer Kit is promised for the first half of 2007, and a release of the full advanced operating system phone implementation and the Java Device Test Suite for later this year. The Java SE components will be developed as part of the OpenJDK Project and Community, and Java ME components will be developed as part of the newly launched Mobile & Embedded Community. Sun also released Duke, the familiar Java mascot, under a BSD license, so she/he/it can appear in open source distributions of Java and so users can create their own variations.
The main launch event was led by Jonathan Schwartz and Rich Green, with pre-recorded video segments from Richard Stallman, Eben Moglen, Tim O’Reilly, and others. At the very end, Schwartz asked Green if OpenSolaris would also be released under the GPL. He gave the best answer possible: that the community feedback from choosing the GPL for Java has been positive, so they are indeed considering the possibility of future GPL releases. It’s worthy of note that the license chosen is specifically version 2 of the GPL without the often-added text “any later version”, which means that Sun has reserved the right not to upgrade to version 3 of the license. Simon Phipps commented that Sun is happy with the GPLv3 process. Chances are that Sun will upgrade when the time comes, but it’s a choice that strengthens their seat in the discussion over the future shape of the GPL.
Immediately following the main event was a small press conference with Green and Chris Nadan, Deputy General Council at Sun, and one of the key legal players in the open source release of Java. Green and Nadan confirmed that although an important difference between the proprietary and open source releases of Java is the legal indemnity Sun offers to their customers and can’t offer for contributions from the broader community, Sun will be accepting modifications from the open source version back into the proprietary product after careful vetting.
Governance was another hot topic in the press conference and in the IRC session that followed. Sun hasn’t defined the processes by which the OpenJDK community will be managed, with the intention that the community will work out its own governance model. It’ll be interesting to watch what develops in the coming months. Much of this discussion will be carried out on OpenJDK’s mailing lists and discussion forum.
On the question of what motivated the choice of the GPL, Green commented that the GPL allows them to tap into the Linux community, a doorway that the CDDL wouldn’t open. He also commented that the copyleft terms of the GPL make it more difficult for others to create incompatible versions of Java, since any implementation based on the GPL’d source would have to be released under the GPL, and so could be incorporated back into the OpenJDK project. This isn’t exactly a traditional motivation for picking the GPL, but it makes perfect sense given Sun’s long-term concern about forked versions of Java.
Sun took some criticism for running their developer Q&A in Second Life instead of a webcast. I do hope they were recording the audio of the Q&A to release in another format later. And I confess, the technical experience of attending a “press conference” in Second Life left something to be desired: on my low-powered Mac laptop only half the avatars at the event and on stage were rendered (leaving me the interesting task of trying out “empty” seats to figure out which were actually empty and which were occupied by invisible avatars), the audio on my laptop was out-of-sync with Geir Magnusson’s laptop right next to me, and overall there’s just something unsatisfying about watching four avatars stand motionless on a virtual stage while the human voices answer questions. But here’s why the Second Life event and IRC session were significant: traditionally, big companies like Sun simply don’t try out new technologies like Second Life. It’s too risky. Now, Sun wants to reach out to a new community, and to do it they’re stepping outside their comfort zone to try new ways of communicating. From an evolutionary perspective, this growth and willingness to change is a very positive sign.