James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 2

   
By Robert Eckstein, November 2006  

Articles Index

James Gosling, widely regarded as the father of Java technology, has been hard at work helping Sun Microsystems with its efforts to open source Sun's Java SE (JDK) and Java ME implementations. The Java EE implementation has been open sourced for over a year as Project GlassFish. Part 1 of the interview took place shortly before Sun's official announcement, and we spoke again just afterward.

question James, we had a pretty big announcement today. Can you tell us more about it?

answerSure. In a nutshell, Sun is open sourcing all of its Java platform implementations under same license used by the GNU/Linux operating system: the GNU General Public License (GPL) version 2.

More specifically, we're announcing:

  • The adoption of the GPL v2 license for Sun's Java SE (JDK) and Java ME implementations, and adding this license to Sun's Java EE implementation.
  • The first release of code for the JDK and for Sun's Java ME implementation, projects and communities.
  • The release of a roadmap for future code releases and community development.

For the open-source JDK components, we chose the GNU General Public License (GPL) version 2 for almost all of the virtual machine, and GPL v2 with the Classpath exception for the class libraries and those parts of the virtual machine that expose public APIs. For Java ME, we went solely with GPL v2.

question What motivated this choice? And what exactly is the Classpath exception?

answer The nice thing about the GPL is that it's a very community-friendly, very symmetric license. And it enjoys pretty wide popularity in the open-source community.

The Classpath exception was developed by the Free Software Foundation's GNU/Classpath Project ( http://www.gnu.org/software/classpath/license.html). Basically, it allows you to link an application available under any license to a library that is part of software licensed under GPL v2, without that application being subject to the GPL's requirement to be itself offered to the public under the GPL.

This is a licensing paradigm in common use within Free software communities such as GNU/Classpath and Kaffe for the components of a Java technology implementation including the virtual machine and class libraries. We consciously chose the same licensing method so that there would be no temptation to second guess our intention to make Sun's Java SE implementation available under a genuinely Free and open license.

question So, we've been hearing quite a bit over the past few weeks about the OpenJDK Community. What exactly is the OpenJDK Community?

For the open-source JDK components, we chose the GNU General Public License (GPL) version 2 for almost all of the virtual machine, and GPL v2 with the Classpath exception for the class libraries and those parts of the virtual machine that expose public APIs. For Java ME, we went solely with GPL v2.
 
 
James Gosling
Vice President and Sun Fellow, Sun Microsystems
 
answer establishing the OpenJDK Community for the ongoing development of Sun's open source implementation of Java SE. Basically, the OpenJDK Community is where developers will gather to collaborate on the open-source JDK code base and related projects. The OpenJDK project in which the open-source code base will "live" is part of this community. Here, developers will be able to directly influence the future of the JDK implementation, participate with their peers in an open community and help take Java technology where it hasn't been before. Sun is evolving the existing JDK Community, where developers have been working on the source code over the past two years, into a site where Sun and non-Sun developers alike can collaborate together on the implementation. The OpenJDK Community can be found at http://community.java.net/openjdk.

question What is the governance model for the OpenJDK projects?

answer Well, we're studying existing governance models in the open-source community, but we want to take the time to do a thorough analysis and gather more input and advice before making this decision. Our plan is to evolve the governance model to one of community involvement, with a goal of inclusive, transparent, meritocratic governance.

question What kinds of things can a developer do with the open-source Java SE platform pieces right away?

answer Probably the most useful thing you can do with it is look at it and learn from it. It is somewhat traditional, but I always say that the source [code] is the documentation of last resort. We have tried really hard to make sure that we have real documentation.

Of course, you've been able to read the code for a very long time as part of the JDK 6 project. There will certainly be people who will be locally tweaking things just for themselves.

In the past, there have been a lot of researchers in universities using the code to do research projects. And people who are making contributions will be able to build their contribution and to make sure that all the contributions fit.

question How do you think this move will affect other open-source implementations of the Java programming language -- for example, Apache Harmony or GNU Classpath?

answer It's hard to know. They'll certainly be able to mine our source for stuff to incorporate into their projects.

You know, most of the big questions that people would think of [about open sourcing the Java platform] that would keep me up at night actually don't. I'm pretty happy with the way the OpenJDK is developing.
 
 
James Gosling
Vice President and Sun Fellow, Sun Microsystems
 
question Frankly speaking: is there anything about the fact that Sun is now open-sourcing Java that keeps you up at night?

answer You know, most of the big questions that people would think of that would keep me up at night actually don't. I'm pretty happy with the way the OpenJDK is developing. I'm really happy with the way that we're approaching issues like QA and the rest of it.

I think that a lot of people out there might be a little bit nervous that it's going to make the Java platform less reliable, but I just don't think that will be the case, and I'm not losing any sleep over that.

If there's any part that causes me to lose sleep, it's the mechanics of the infrastructure: the hosting, the bug tracking, the day-to-day bits and pieces—things that all open source projects go through. But I'm sure that that it will all work out.

See Also

James Gosling's Blog
Java Community Process Program
Java SE Platform Downloads
JDK 6 Project
Java EE Platform Downloads
Project GlassFish
James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1
The Tools and the Trade: A Conversation With James Gosling
Subversion
Mercurial

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.