08:33 PM

Sun's Open Source Java Moves Are Bold, Smart, and Limited

Sun's recent decision to open-source some elements of Java is pretty exciting -- but a few years overdue, says InformationWeek columnist Eric A. Hall

Sun also announced that the Java Enterprise Edition platform would be released under GPLv2 through their GlassFish project, which is Sun's own Java EE application server that more-or-less competes against application servers such as Red Hat's JBoss and IBM's WebSphere. GlassFish was already available as open source under Sun's CDDL license, and it's not clear that releasing it under GPL will help GlassFish grow into a full-service Java EE platform, but it certainly doesn't hurt.

There are also things that Sun has said they will not be releasing to the open source community. Most notably, Sun is keeping control of the Java language to itself, and is not allowing core components such as APIs to be tweaked by the hoi polloi. Whereas languages like Perl and PHP are developed in an open environment and are capable of being extended by anybody that can demonstrate a need and benefit (although single-source interpreters usually serve to enforce consistency by minimizing actual diversity), Sun has developed Java as a "standard" language and has stated unequivocally that they will retain executive control over the core language for the foreseeable future. In this regard, it's not Java that is being open sourced, it's Sun's Java software.

Likewise, Sun is retaining most of the Java "branding" such as the steaming coffee cup logo, as well as the Java name itself, although they have published guidelines that allow for their use.

Sun is also going to continue offering commercial licenses for the code that is being released, for multiple reasons. For one thing, it allows the existing encumbered code to continue to be made available to the organizations who have already agreed or will agree to comply with the terms of the relevant licenses. For another, it provides a way for developers to avoid some of the GPL language and limitations-if an organization needs to incorporate specialty libraries into the core software for some reason, but is unable to do so while also satisfying the GPL requirements, then a commercial license from Sun would allow them to do so without conflict.

This isn't a scenario that most people will need to be concerned with, however, since Sun has adopted the GNU Classpath exception license for their Java SE components. Under those terms, Java applications that make use of the JVM are not automatically bound by the license terms associated with the JVM, but instead are treated as separate entities for license purposes. As such, the only people that really need to worry about the GPL licensing restrictions are people who muck with the core components, and that's only if they are not using a commercial license from Sun.

3 of 5
Comment  | 
Print  | 
More Insights
Register for InformationWeek Newsletters
White Papers
Current Issue
Twitter Feed
InformationWeek Radio
Archived InformationWeek Radio
Join us for a roundup of the top stories on for the week of April 19, 2015.
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.