Sun Microsystems open-sourced its Java technology a year go, in November 2006. Rich Sands, community marketing manager for Java Platform Standard Edition for Sun, sat down with eWEEK Senior Editor Darryl K. Taft to discuss how the year with Open Java has gone.
Nov. 13 marks the one-year anniversary of when Sun open-sourced Java. What are some of the key milestones from the past year?
It has been quite an exciting year and some of the key milestones from this past year include Nov. 13, 2006: We open-sourced several components of Java SE [javac, HotSpot], and the entire Java ME code base, both CLDC [Connected Limited Device Configuration] and CDC [Connected Device Configuration], under the surprising and courageous choice of GPLv2. Richard Stallman said: “It shows leadership. Its an example I hope others will follow.” The “Java Trap” finished.
Then, in spring 2007, after attending several worldwide open-source and developer conferences, including TechDays in Hyderabad, India, FOSDEM [Free and Open Source Software Developers European Meeting] in Belgium and FISL [Forum Internacional Software Livre, or the International Free Software Forum] in Brazil, we realize that the developer world is giving us a standing ovation for our choice, and for the transparency we are striving to achieve in how we move through the process.
In May 2007, Vodaphone Betavine expresses interest in collaborating with the mobile and embedded community at CommunityOne. Now larger players in the Java ME (Micro Edition) ecosystem have started to recognize the value of FOSS [free and open-source software] innovation.
On May 8, 2007, we released a fully buildable implementation of the JDK [Java Development Kit] on the openjdk.java.net site. Rich Green [Suns executive vice president of software] announces this at JavaOne during the opening keynote, along with the formation of the OpenJDK Interim Governance Board, and a promise to provide TCK [Technology Compatibility Kit] access to OpenJDK-based free software implementations of Java SE (Standard Edition).
On June 7, 2007, the IcedTea project forms to deliver a patch set for the OpenJDK code base that allows it to be built from 100 percent free source code, using free software build tools. IcedTea is both a testament to the eagerness of FOSS developers to dive into the code and get a completely unencumbered implementation out there, and a sober reminder to Sun that were entering into a new world where things move fast, and if we dont keep up, well be left behind.
Later, on Aug. 9, 2007, Sun announced the OpenJDK Community TCK License Agreement, the idea being if you have an implementation based on OpenJDK and distributed under GPL, and you want to make sure it is compatible, you can gain access to both the TCK for certifying compatibility, and once certified, you can use the “Java Compatible” brand. All under terms that make sense to the FOSS community, and respect both the requirements of the GPL and the spirit of free software.
On Nov. 5, 2007, Red Hat announced that they signed the Sun Contributor Agreement [SCA] and the OpenJDK Community TCK License Agreement [OCTLA]. A significant player in the Linux world agrees to join and contribute, and to work towards shipping a 100 percent free and compatible implementation as part of their distributions. This also paves the way for most of the IcedTea developers, who work within the Fedora project at Red Hat, to align IcedTea even more closely with OpenJDK.
Then on Nov. 13, 2007, one year later, the OpenJDK project has been downloaded nearly 12,700 times by developers in the six months since the JavaOne announcement of a fully buildable JDK. And that tracks only full bundle downloads of the 6.5-plus million line code base, and not checkouts through the read-only Subversion repository.
The OpenJDK Interim Governance Board is actively working toward creating a constitution. The mailing lists are active, with a lot of passionate developers both inside and outside of Sun discussing the code, the new Mercurial SCM, and how best to work together.
Page 2: Open-Source Java: One Year Later
What percentage of the OpenJDK code is fully open source and what is being done to address the last pieces of encumbered code?
As of JavaOne back in May of this year, Sun had open sourced approximately 96 percent of the total code base of OpenJDK. Only about 4 percent of the code was encumbered, primarily some low-level routines in the Java2D APIs for displaying text and graphics and managing color information, some encryption APIs, and some management framework APIs.
Since May, Sun and the community have been working together to clear these encumbrances, and have made substantial progress. Free software replacements for many of the graphics encumbrances have been identified but need some additional work and testing. The encryption encumbrance was cleared in OpenJDK build 21. Theres still work to be done though, and were confident that with the communitys help, well have 100 percent free software OpenJDK code base.
What has the response been over the last year from Java developers and the open-source community?
The response has been very enthusiastic. Many of the developers who had been working very hard on building free software implementations of Java technology were amazed to find out that they had “won” the battle to see Java technology available under an open source license. But wed rather let the developers speak for themselves—theyve been quite vocal.
Can you talk about some of the recent updates with OpenJDK, most recently with Red Hat, and what this means for the community?
Red Hat [Nov. 5] signed the Sun Contributor Agreement and the OpenJDK Community TCK License Agreement, opening the way for their engineers to join the community and contribute.
This means that Red Hat will ship a compatible implementation of Java SE based on OpenJDK in their distros, using the TCK to test and certify their implementation and bringing “write once, run anywhere” to their customers and community. When Sun open sourced Java, the company said it wanted to get compatible and free software implementations into Linux. Well, its working.
This is a major milestone. Red Hat is, of course, a key player in the Linux space. Its a big endorsement for them to join the OpenJDK community under Suns participation model. Their engineers will be contributing under the SCA, sharing copyright with Sun.
Building a community isnt easy, and building a 6.5-plus million line code base whose hallmark is compatibility in an open source community is something new to the world. Java technology is on more systems and devices than every other platform—Windows, Linux, Solaris, everything—combined.
Java SE runs on most desktop computers in the world, and underlies the stack of server-side middleware that has been so successful in delivering the promise of the Internet to the world. So how does Sun do right by the billions of people benefiting from Java technology while leading the way to opening Java to the FOSS world?
Sun has thought long and hard about what it will take to meet its obligations to customers, licensees, and yes, of course, shareholders, while making the communities Sun sponsors as welcoming as possible to a wide range of developers. Open-sourcing the code is a start. The participation model is where the action is moving to now.
Its great to see Red Hat agreeing that Sun has a model that works for them.
What lies ahead for the OpenJDK Community?
We have a busy roadmap and an active, enthusiastic community to help us with it. A few things to watch for are, near term, the release of the OpenJDK code base using a new source code management system called Mercurial.
Youll see even closer alignment between the OpenJDK project and the IcedTea project, now that Sun and Red Hat have agreed to cooperate on OpenJDK. Well be completing the process of clearing the encumbrances and a release of a JDK 6 compatible code base on OpenJDK—the current code base is for the future JDK 7.
Well work to deliver elements of deployment code such as Java Web Start and a browser plug-in as open source in the OpenJDK project. And we expect to see a draft constitution from the Interim Governance Board, then discussion, ratification and election of a new Governance Board.
In addition, you will see more interesting community-driven projects, ports, bug fixes and features.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.