We’re going to be using the GPL because we believe it opens up the largest market in a single move, Sun’s chief open source officer, Simon Phipps, told Computer Business Review, explaining that using the GPL would overcome fears about license compatibility with Linux.
We’ve been working on the Java platform for a considerable time and we’ve got to the point where we’re considering ‘how do we grow the market’, he said. The most important thing is that that the Java platform is not included in many GNU Linux distributions.
Choosing the GPL, which is already used for Linux, avoids that issue, he explained. Java now becomes the development platform of choice for enterprise GNU Linux users.
The first components of Sun’s Java SE implementation the Hotspot virtual machine, Java C compiler and Java help document system are available under the GPL from today, while the rest will be released incrementally up until the middle of next year. Java ME for mobile and embedded devices will also be released under the GPL over the same time frame.
Sun’s implementation of Java EE was released under its own Community Development and Distribution License via the Glassfish project in mid-2005. That code will now be dual-licensed under the GPL and the CDDL, according to Phipps.
He said Sun has chosen a specific wording of the GNU GPL that copies the ‘Classpath exception’ that was created to enable the GNU Classpath open source Java project to link to both open and closed source software, avoiding the problem created by the fact that Java does not follow the classic application/operating system relationship
It’s all straight forward and above board, said Phipps. It overcomes the problem that arose that Java is a layer above the operating system. The Classpath exception takes away all that uncertainty.
According to the Free Software Foundation’s Classpath FAQ: If you combine GNU Classpath with independent modules to produce an executable you can copy and distribute the resulting executable under terms of your choice. So you can use and distribute GNU Classpath as is in your program without changing the license of your software.
Sun has been pondering which license to use for its open source Java SE project since it was first announced in May. A poll of 965 respondents at Java.net saw the GPL ranked second with 22.1% of the votes, behind the Apache license with 30.5%, although it should be noted that The GPL with the Classpath exception was not an option.
Choosing the GPL will ensure that a rival commercial implementation of Java SE does not evolve as the code and any derivatives must remain open source, while the Classpath exception ensures that there are no problems including Java SE with proprietary code.