Mark Reinhold, Chief Engineer for the Java 2 Platform gave an update on the state of Sun’s efforts to open source the Java platform. Sun’s goals and reasons for opening up the JDK are as follows:
- They plan to establish a free (as in freedom) Java Developer Kit
- The hope that an Open JDKwill help the Java platform achieve platform ubiquity and increase developer mind share.
- They plan to do so by creating a vibrant, OpenJDK community.
- The time frame is over the next year or so.
Reinhold summarized the progress they have made so far on the OpenJDK project:
- Nov 2006: The HotSpot JVM and the Java compiler were open sourced under the GPLv2 license. This was intended as a down payment on their promise to the Java community. Out of this action came the Kitchen Sink Language which gives developers the ability to kick the tires of the Java language by ading new features.
- May 8 2007: Most of the JDK code was open sourced. There were some libraries(font rasterizer, graphics rasterizer, sound engine, crypto providers, some SNMP code, and imaging API’s) that Sun originally licensed form third parties who were not willing to open-source them. Sun is currently working around this by providing binary plugs of these libraries. Approximately 25,169 files are not under GPLv2.
- Also on May 8 2007: Sun also announced an Interim Government Board. The governance board will be comprised of a legislature and a judiciary. They are guided by the OpenJDK charter (a bootstrapping document) and are responsible for drafting a constitution. Currently, Sun is still in control of the development patches (done via email). In the future, the community will be in control with non-Sun committers. Until the constitution is ratified, they will have two orthogonal units:
1. Group: A Group is a collection of participants with a common goal. They may or may not be associated with code. Group members participate in governance. Groups can have web content. Groups do not have specific file repositories, but they may sponsor a project.
2. Project:a collaborative effort to produce an artifact. Projects are usually bounded in time.
- June 27th 2007: The Java Modules Project is approved.
As for the future, the OpenJDK project will be using Mercurial for source control and hopes to have it ready by October 2007. They plan to have the draft constitution ready by December 2007 and ratified by April 2008.
Through 2007-2008, the following goals are set:
- Add infrastructure improvements to the OpenJDK project via code Reviews, a wiki, a source browser, etc.
- Externalize process and tools for outside committers.
- Replace the encumbered (non GPL) code.
- Release Java SE 6.
All of this work has definitely impacted Java 7, which now expected in late 2008/early 2009.