RSS

JVM Languages

Sun Set To Move On GPL License For Open-Source Java


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.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

DrDobbs encourages readers to engage in spirited, healthy debate, including taking us to task. However, DrDobbs moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. DrDobbs further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Best of the Web

What the New iPad and iOS 5.1 Mean for Developers

The new display is gorgeous. But local storage for HMTL5 is currently broken on the new iPad and performance of some apps is slower. Here's a deep dive into the issues, including benchmarks and analysis.

Quick Read

Triple Buffering as A Concurrency Mechanism

Triple Buffering is a way of passing data between a producer and a consumer running at different rates. It ensures that the consumer sees only complete data with minimal lag.

Quick Read

Embedding GDB Breakpoints in C Source Code

Have you ever wanted to embed GDB breakpoints in C source code? Something like this:
printf("Hello,\n");
EMBED_BREAKPOINT;
printf("world!\n");

Quick Read

Writing Kernel Exploits

Why attack the kernel? Because it has a huge attack surface with potential for very interesting bugs. This presentation (pdf) takes a code-level dive into recently reported Linux-kernel exploits.

Quick Read


More "Best of the Web" >>

Video

Enabling People and Organizations to Harness the Transformative Power of Technology