Sun Microsystems has talked a lot about putting Java into an open-source license. Now it's ready to move.
The company is very close to announcing that it will put the mobile (ME) and standard (SE) editions of the Java platform into the GNU General Public License (GPL), with the Java Enterprise Edition and GlassFish reference implementation (currently open-sourced under Sun's Common Development and Distribution License, or CDDL) to follow, several industry sources said.
The OpenSolaris operating system will continue to be offered under the CDDL, according to several sources. The news could come as early as next week, they said.
The GPL is an intriguing and controversial choice. By requiring derivative works to also be released as open source, the GPL discourages commercial forking -- a consequence that fits well with Sun's stated goal of preserving Java's cross-platform compatibility. However, a GPL license would require those making changes to the core Java platform to freely release their code.
Santa Clara, Calif.-based Sun declined to comment on its open-source Java plans and licensing choice.
Sun CEO Jonathan Schwartz has publicly toyed with the idea of GPL'ing Java. "We're now making serious progress on open-sourcing Java (and despite the cynics, using a GPL license is very much *on* the table)," Schwartz wrote in his blog in May.
Earlier, he mused on the merits of adding a GPL license to the mix for Solaris. "We're looking at how to reach developers and customers who prefer the GPL," he wrote.
"Wow, that's surprising," said one developer when asked about the potential impact of a move by Sun to put Java under the GPL.
Embracing the GPL would win Sun credibility in the open-source community, which has been irked before by Sun moves such as contributing to licensing complexity by inventing the CDDL.
"I think Sun realizes that their other pseudo-open source efforts don't work,and that they can still retain control over code that's GPL," the developer said.
Offering Java only under the GPL would have a cataclysmic effect on the software industry, forcing Java platform developers to freely release their contributions if they continue developing around the platform's GPL code. IBM, for example, licenses Java from Sun and has its own version of the Java Virtual Machine.
A more likely scenario is that Sun would offer dual licensing for Java, a commercial/community hybrid approach used by vendors such as MySQL and Sleepycat Software (now part of Oracle).
MySQL offers a GPL license for those willing to freely open-source their contributions and a commercial OEM license for companies that don't want their code distributed. According to a Sun executive quoted in the publication Australian IT this week, dual-licensing is the plan. Sun will have open-source and commercial licenses, differentiated by their IP indemnifications, Sun software product business manager Laurie Wong told the publication.
An online poll of Sun's Java.net community rated the GPL as the second most-preferred licensing option, behind the Apache License. Thirty-one percent of the respondents opted for Apache, compared with 21 percent for the GPL. However, adding in the votes for the LGPL, a slightly more permissive offshoot, the GPL carried a commanding 37 percent of the votes.
The GPL is a topic of much conversation of late, with Richard Stallman of the Free Software Foundation and others pushing a new GPL 3 version that other open-source stalwarts -- including core star developer Linus Torvalds -- say is problematic.
UPDATE: For more on Sun's GPL plans see Barb Darrow's Unblog from Friday.