At JavaOne in May, 2006, Sun Microsystems announced they were going to release Java as free software under the terms of the GPL. The size of the task (6.5 million lines of code) was only eclipsed by the size of the opportunity for Java as a free and open technology.
At JavaOne in May 2007, Sun announced that the work was largely completed and so OpenJDK was launched. What was less newsworthy was the fact that on release – OpenJDK still relied on code that was encumbered – between 4 and 5 percent of the code was closed, non free source that Sun didn’t own.
Richard Stallman described the encumbered code as :
“The one last obstacle [which] remains in liberating JDK and disarming the Java Trap completely”
and rallied the FOSS and Java communities to
“… work together to replace that code with free software”
So, who would step up to the challenge of making Java truly free and open ?
In June, 2007 – Red Hat launched the IcedTea project with the goal of making OpenJDK usable without requiring any other software that is not free. That in turn would allow OpenJDK to be included in Fedora and other Linux distributions without restrictions. The IcedTea Project made use of previous work developed under the GNU Classpath Project which had been independently driving towards a free and open implementation of the Java class libraries.
This week the IcedTea Project reached an important milestone – The latest OpenJDK binary included in Fedora 9 (x86 and x86_64) passes the rigorous Java Test Compatibility Kit (TCK). This means that it provides all the required Java APIs and behaves like any other Java SE 6 implementation – in keeping with the portability goal of the Java platform. As of writing, Fedora 9 is the only operating system to include a free and open Java SE 6 implementation that has passed the Java TCK. All of the code that makes this possible has been made available to the IcedTea project so everyone can benefit from the work.
The Java TCK is a complex suite of tools and documentation that verifies that Java implementations conform to the Java specification. It consists of more than 80,000 tests and over 1 million lines of code.
From here the initial plans are to make OpenJDK part of Red Hat Enterprise Linux distributions starting with Red Hat Enterprise Linux 5.3 and to expand the platform support. Beyond that our plans are still evolving, but clearly this creates some great opportunities for both Red Hat and Java. For example :
- Improving Java for virtualized, hosted environments – an area where Red Hat Linux has excelled but Java has struggled.
- Optimizing the performance and scalability of the full stack of Java-based JBoss Enterprise Middleware for Red Hat Enterprise Linux and Linux in general
- Being able to better manage the lifecycle of JBoss Enterprise Middleware platforms and the Java Virtual machine on which it depends
- A more fundamental opportunity is for Red Hat to be able to increase the depth of support for the JBoss Enterprise Middleware platforms running on Red Hat Enterprise Linux.
Over the coming months, we’ll continue working with our communities of users, customers and partners to better understand the opportunities that OpenJDK and IcedTea present to us.
Tom Fitzsimmons will be at the Red Hat Summit in Boston between June 18th and 20th, so if you want to chat about the project – swing by the Exhibit Hall, grab a beer, and ask him how much fun the Java TCK testing was.
Java, Java SE, OpenJDK and Java TCK are all Trademarks of Sun Microsystems Inc.