Sun Microsystems is today expected to give-in to years of pushing and open source major elements of Java while hinting at changes to the way Java is certified and tested for compatibility.
Sun is breaking open Java Standard Edition (SE), used on the desktop and a foundational element of Java 2 Enterprise Edition for servers, and Java Micro Edition (Java ME), which powers 1.5 million handsets worldwide.
Sun is making available its Java HotSpot Java Virtual Machine (JVM) implementation - a core piece of the Java Runtime - javac programming language compiler to run Java software, and the JavaHelp software under the OpenJDK project on Java.net
Also released is Java ME for Connected Device Limited Configuration (CLDC) with source code for the Java ME compatibility testing. Sun plans to release more code for advanced operating system phone implementation and the Java Device Test Suite framework.
All code is being released under GPL 2.0 - while also being maintained under Sun's simplified Common Development and Distribution License (CDDL). Sun's open source Java EE application server Project Glassfish also gets the GPL treatment in the first quarter of 2007.
Jean Elliott, Sun's director of developer marketing for Java SE, told The Register Sun picked GPL - despite its reputation for controversy - to make it easier for Linux distributions to include Java. Sun believes GPL will take Java into new software markets. "Linux distributions are gaining momentum in many parts of the world. We are hoping Java will be more broadly distributed through those means," Elliot said.
There is a belief, too, GPL will help safeguard Java against forking a - real threat now code is being opened up. According to Elliott, the market will help maintain compatibility. "Now's the time to let the market enforce compatibility. We want the largest possible market. The pervasiveness of the market means the time is right," Elliott said.
Relying on the market to change and enforce compatibility implies a changing role for the Java Community Process (JCP) along with changes to the way Java is certified and compatibility maintained.
According to Sun, the current practice of introducing API-level changes using Java Specification Requests (JSRs) will continue. However Elliott hinted the process of certification and awarding the compatibility logo will change. "This will evolve once we go forward with the open source model over the coming months," Elliott said.®