Sun Microsystems announced Tuesday it has finished the process of making the bulk of its core Java technology available as open-source software under the GNU general public license version 2 (GPLv2). The vendor made the announcement at its JavaOne conference in San Francisco.
However, Sun hopes the open-source community will help it resolve the issue of Java source code that remains "encumbered," where Sun doesn't hold enough rights to release the code under GPLv2, according to Rich Sands, community marketing manager for OpenJDK community at Sun. While he declined to put a percentage on how much of Java's 6.5 million lines of code are encumbered, Sands said the issue was primarily with Java 2D graphics technology, particularly around font and graphics rasterizing. While open-source alternatives are already available, they don't currently support all the necessary features of the Java 2D API (application programming interface).
For now, Sun will provide plug-ins for the Java 2D technology that can be combined with the rest of Java available under GPLv2 so developers will have access to a complete Java Development Kit (JDK). In the future, Sun plans to work with the open-source community to rewrite the encumbered components to replace the current closed-source code and make it available under GPL2.
"The free software community and Sun must work together to replace that code with free software," Richard Stallman, the founder of the Free Software Foundation (FSF) and the creator of the GPL, said in a release. He described the encumbered Java code as representing "the one last obstacle [which] remains in liberating JDK and disarming the Java Trap completely." Stallman defined the Java Trap back in 2004 as the restrictions based on free software programs that depend on non-free software.
Sun first pledged to make Java freely available just over a year ago at JavaOne in May 2006 and then in November announced its somewhat surprising choice of open-source license and began releasing OpenJDK components. In all of the vendor's previous open sourcing of its software, Sun relied on its own CDDL (common development and distribution license). Java was the first time the vendor opted for GPL, a popular license with the free and open-source software community.
Sun's hoping that open sourcing Java under the GPL will lead to Linux distributors embedding the software in their operating systems and thus widening the technology's appeal to more developers. Last month, Mark Shuttleworth, the founder of Ubuntu, said once Java was fully available under GPL, Canonical, the commercial sponsor of the Linux distribution, would consider including the technology in the core of Ubuntu.
Software implementations based on OpenJDK can now use the Sun Java SE 6 Compatibility Kit to help developers establish compatibility with the current Java SE 6 specification, Sands said. Once such implementations achieve certification, developers will be able to use the "Java Compatible" brand.
Open sourcing Java represents one of the largest donations of code to the developer community, Sands said, but merely making software freely available is insufficient. "Open-source developers need to have rules and governance spelled out for them for how they use and interact with the code base," he added.