Open Source Java Turns One
On the 13th November 2006 Sun announced its decision to begin the process of open sourcing Java SE and ME under the GPL v.2. The decision was broadly welcomed, although Sun did lose two senior executives who cited the open source policy as their main reason for departing. Vice President and senior Fellow Graham Hamilton, who had helped create the JCP and led the Java SE team for a while, left within weeks of the announcement. More recently Larry Singer, Vice President of Global Information Systems Strategy, left and again cited Sun's open source strategy as a significant factor.
The first year certainly hasn't been without its problems. Roman Kennke was amongst a vocal group of programmers unhappy with the process of releasing patches into the OpenJDK. Still unresolved licensing restrictions for the Java Comparability Kit (JCK) have resulted in a very public spat between Sun and Apache, who need the JCK to certify their Harmony implementation of Java SE. This in turn has resulted in some bad feeling amongst JCP members as recent ballot comments demonstrate. Harmony itself has raised concern over the possibility of fragmentation within the Java SE space, and Google's newly announced Android platform, which uses some Harmony libraries, has added credence to this since it supports only a subset of the Java SE/ME libraries and applications developed for it are distributed using a propriety binary format in place of Java bytecode. This format can only be executed using Google's own Dalvik Virtual Machine.
There is also increasing concern around the Java governance committee. This temporary body is meant to draft a new constitution for the OpenJDK community and then oversee an election to replace itself with a permanent group. However in the six months since inception the committee have met face to face only once, and there is little discernable progress in the work that needs to be done in order to form a user-elected governance committee and constitution around Java.
The strategy has also began to return some dividends however. In the SE space Red Hat has announced an agreement with Sun to collaborate on Java development. One of the first benefits of the deal is tighter alignment with the IcedTea project, which brings together Fedora and JBoss technologies in a Linux environment. IcedTea provides Free Software alternatives for the remaining proprietary sections in the OpenJDK project (estimated at around 4% of the current code-base), and will hopefully result in production useable implementations for font rasterizers and cryptography libraries for example. In addition, and significantly, IcedTea has introduced Java 6 into the Fedora package and is expected to result in Java being part of Red Hat Enterprise Linux. Meanwhile the lack of availability of Java 6 on Apple's OSX has seen a response from the Java SE community with a port underway.
In the mobile and embedded space the phoneME community have ported Java ME over to the Linux-based Nokia N800 Internet Tablet, and a port is also underway to bring Java ME to Windows CE devices. The UK's largest carrier Vodafone is coming on board with Bvine, a project which aims to link mapping programs such as Google maps to the GPS component on the phone. Telenor is also contributing with iLabs mobile, as are the intriguing looking Bug Labs, who are using Java ME to provide the software stack for their user assemblable Linux gadgets. Moreover Sun's Terrence Barr, technical evangelist for Java ME, has been quoted as saying that he believes Apple's plans to release an SDK for the iPhone in early-2008 may result in the open-source phoneME version of Java ME winding up on Apple's iPhone.
Sun's decision to remove the majority of encumbrances that had confused the licensing of Java applications has undoubtedly further enhanced the standing of Java amongst open source developers, and a community is beginning to build up. They have stated that by the end of October there had been close to 12,700 full downloads of the open source Java Development Kit (JDK) since its release in May. There are also some signs that the strategy may be resulting in a closing of the gap between Sun and its rivals in developer and middleware tools. Hard numbers however are difficult to come by and it will therefore be some time before we know for sure how well the open source approach has really worked both for Sun and Java.