Ten years later, the open-sourcing of Java remains a point of contention, with many in the community extolling the importance of an open Java, while others remain critical of its handling, including the belief that Sun Microsystems didn’t go far enough.
Sun Microsystems officially open-sourced Java on Nov. 13, 2006—a move long pined for by the industry at large. Java’s code had already been accessible prior to that date—a strategy that helped boost the platform from its earliest days, notes Java founder James Gosling.
“The source code for Java was available to all from the first day it was released in 1995,” says Gosling, who is now chief architect at Liquid Robotics. “What we wanted out of that was for the community to help with security analysis, bug reporting, performance enhancement, understanding corner cases, and a whole lot more. It was very successful.”
Java’s original license, Gosling says, allowed people to use the source code internally but not redistribute. “It wasn’t ‘open’ enough for the ‘open source’ crowd,” he says.
IBM at the time wanted Java to be contributed to the Apache Software Foundation, where it would have been distributed under the Apache license. Ultimately, Sun chose to shift Java to the GNU General Public License, which then-Sun CEO Jonathan Schwartz called a “momentous” change. Under the GPL, derivatives of Java would also have to be distributed, a shift intended to help Java better fit in with the open source community, Gosling says.
Since the open-sourcing, Sun and, in turn, Oracle (which acquired Sun in early-2010) have remained in the driver’s seat for Java’s evolution, although other parties have contributed to the code. While Gosling has taken Oracle to task for its handling of Java at times, he sees the open-sourcing as beneficial.
“It’s one of the most heavily scrutinized and solid bodies of software you’ll find. Community participation was vitally important,” he says.
A former Oracle Java evangelist, however, sees the open source move as watered down.
“Sun didn’t open-source Java per se,” says Reza Rahman, who has led a recent protest against Oracle’s handling of enterprise Java. “What they did was to open-source the JDK under a modified GPL license. In particular, the Java SE and Java EE TCKs [Technology Compatibility Kits] remain closed source.”
This, Rahman says, has been a significant problem for projects like Apache Harmony, as well as for community members that would like to contribute to the TCKs.
“Indeed, Sun retained a lot of control over Java even if the JCP [Java Community Process] is relatively open now,” he says. “In particular Sun and Oracle fully control Java-related intellectual property and copyrights through the JCP.”
Sign up for CIO Asia eNewsletters.