After much market speculation, Sun Microsystems today announced it will adopt the GNU General Public License (GPL) to govern open source Java. It also releases the first set of source codes to the developer community.

Matt Thompson, Sun's senior director of technology outreach and open source programs office, told ZDNet Asia that Java will be governed under GPL version 2 (GPLv2), with Classpath Exception.

GNU Classpath encompasses core libraries that support the Java platform. Under Classpath Exception, developers can add their own source codes to the application and distribute it without having to change the license of their software.

Thompson added that the Classpath Exception would give developers the option to add their own codes to Java, and not be forced to latch their modified program and distribute it under the GPL. This, he added, would encourage developers to "build innovation without inheriting strict or unfair licensing terms".

"When we open source Java, we're not looking for ways to make tremendous money out of it but [rather], to create a larger ecosystem," he said. "If you look at the [various] licensing terms [available today], they either inhibit or promote innovation. We want to allow as much innovation, as well as, as much freedom as possible."

"From a licensing standpoint, we understand the need to make sure developers have uninhibited access to source codes and that's why we chose the GPL."

Sun will also be adding the GPLv2 to its server platform Java Platform Enterprise Edition (Java EE), already an open source offering under Project GlassFish, in the first quarter of 2007. Currently governed under the CDDL, Java EE will be offered under a dual open source license model.

By adding a second license, Sun said it is aiming to "simplify the process of combining and distributing [Project] GlassFish code with other GPL licensed communities".

However, Sun has no plans to move Solaris to the GPL--at least, not yet.

Thompson explained: "When we were ready to make Solaris open source, we were looking for a license that allowed us to ensure there is complete compatibility [between the various Solaris distributions]." And the GPL, at that time, did not allow for this, he said.

He noted that the Mozilla license came closest to fulfilling Sun's requirements for open source Solaris, but was written specifically for the open source Web browser.

With Java, Thompson said, product compatibility is--and has been from the start--an essential component of the programming language.

"Unlike an OS such as Linux, where there are multiple variants, with Java we've been able to manage the process and maintain compatibility across the ecosystem," he said, noting that developers have to meet a set of requirements--which helps ensure compatibility--when they build on Java.

He added that "no one license fits all", noting that "that's why the OSI (Open Source Initiative) has approved so many different licenses". The OSI oversees and grants official status to open source licenses.

Thompson said: "We think the GPLv2 is a good fit [for open source Java], but whether we'll look at it for Solaris is a decision for the future."

First out: JavaC and HotspotSun today also released the first batch of source codes for Java Platform Standard Edition (Java SE), including the JavaC compiler and Java Hotspot Virtual Machine (Hotspot VM), and Java Platform Micro Edition (Java ME).

Thompson explained that the JavaC and Hotspot VM are the most essential and basic components of the Java programming language. According to Sun, these components will allow developers to experiment with the compiler and new language features, and port the VM to new hardware architectures and OS platforms.

Sun is also targeting to release a buildable Java Development Kit (JDK) in the first quarter of 2007.

Rich Green, Sun's executive vice president of software, said: "With the JDK released as free software under the GPL, Sun will be working closely with distributors of the GNU/Linux operating system, who will soon be able to include the JDK as part of the open source repositories that are commonly included with GNU/Linux distributions."

Source codes for the Java ME's feature phone implementation and testing and compatibility kit framework, are also immediately available, while other components such as advanced OS phone implementation and the Java Device Test Suite framework will be released later this year.

Thank You

By registering you become a member of the CBS Interactive family of sites and you have read and agree to the Terms of Use, Privacy Policy and Video Services Policy. You agree to receive updates, alerts and promotions from CBS and that CBS may share information about you with our marketing partners so that they may contact you by email or otherwise about their products or services.
You will also receive a complimentary subscription to the ZDNet's Tech Update Today and ZDNet Announcement newsletters. You may unsubscribe from these newsletters at any time.