FOSDEM 2011 The Java* track at FOSDEM 2011 started off on the right foot by dealing with the state of the OpenJDK head on – both politically and technically – with a talk from Oracle's Mark Reinhold. There were quite a few speakers at Java DevJam and lots of Java tech over the two days, but this talk was needed to start to clear the air, hindsight suggests.
Oracle has not had pleasant press on its "soft skills" recently, for example in its handling of OpenSolaris, OpenOffice, Hudson and the major festering issues and stagnation in the JDK such as with Apache/Harmony and TCK licences. There were some small signs in the last few days that maybe Oracle realises how unnecessarily clumsy it has been.
But while Oracle may not care greatly for better or worse about the first three, the Java ball is too valuable to them to fumble. Indeed, Oracle confirms that keeping Java at the top is its highest priority – out of pure self-interest, not least because Oracle has 20,000 employees working in Java. Making indirect and direct revenue from Java is further down the priorities list.
In all these projects inherited from Sun there were (arguably) boils that needed to be lanced. Sun might have been able to manage these issues better if it had actually been profitable and a software-driven company rather than hardware-centric.
Ghosts of Java past and present
Attending Java Sans Frontières were key Java participants past – including Simon Phipps, ex-Chief Open Source Officer at Sun Microsystems – and Java participants present. The current Java crew included Mark Reinhold, chief architect of the Java Platform Group at Oracle, who gave the "State of the OpenJDK" talk itself, plus RedHat and Azul Systems – which "delivers elastic deployment platforms for Java applications" – and many more in the room. And although generally cordial, the mood was a little tense because Oracle still has a minefield to negotiate to get the community back on its side and win back its trust.
For example, a draft of the OpenJDK governing board bylaws and its initial membership produced snorts of derision from the audience. This was partly because of its effective 80 per cent Oracle/IBM representation, and partly because of the absence of key community and competing commercial organisations, such as RedHat and Azul.
No one claims that the bylaws are complete, nor that the membership is set in stone (the board could quickly vote to co-opt outside members) but this is one area that is likely to remain a touchstone, and it seems that Oracle intends to pay much more than lip-service to it, which is good.
Ticklish TCK issues
The issues around the TCK licences were also discussed pragmatically, and it is clear that this was, and will remain, a commercially sensitive area; it is one of the few fairly direct revenue pinchpoints for Java. As Sun demonstrated, being warm and cuddly is not enough to foster Java – commercial realities have to be be met too – but accommodating competitors is doubly tricky.
Technical and procedural aspects were also discussed, including the release timetable and the relationships between the open and closed versions of JDK 6 and 7; the continued use of GPLv2 with the Classpath exception; and a commitment to do development "in the open". The closed parts of JDK 7 only amount to 2 per cent of the codebase, and the proprietary JDK7 releases will be in step with OpenJDK 7, which should reduce confusion all round – in security/patching issues for a start.
"General availability" of JDK 7 is currently set for 28 July, well overdue for the nominal 18-month major release cycle brought to a grinding halt by the TCK spat with Apache, at least in part. And it shouldn't be too long after that before I'll have official JDK 7 on my Mac too – a relief for me (and Java/Oracle people toting Mac laptops)!
I came away from the talk fairly happy that Oracle is trying to DoTheRightThingTM with Java and not lose the community goodwill that has been so hard-earned, and the JCP is going to be the primary technical forum for advancing Java.
*Disclosure: Java is my preferred programming environment for many development areas, since while not perfect nor the be-all-and-end-all of languages, I find it very productive – and the cross-platform aspects work for me every day. I'm also a (fairly inactive) personal member of the JCP.