In recent weeks hoopla and hype have surrounded the announcement of Java 2. The most recent release of the development environment is attracting lots of attention, partly because of Sun Microsystems’ new approach to Java licensing. The new licensing strategy is indeed welcome and is worthy of a careful review.
The licensing changes are both necessary and welcome. For a long time the biggest impediment to widespread adoption of Java as a development tool was the very company that developed it. In the past, developers trying to break into the Java product market had to pay Sun a licensing fee up front. This created an expensive and unnecessary barrier for Java developers. In addition, if you or your company developed an interesting tool that extended the functionality of Java, Sun not only insisted on approving the extension, but they also grabbed the legal rights to your tool. Sun even refused to admit that the development community building Java tools and applications -- its most knowledgeable advocates -- could contribute to the Application Programming Interface, which is the set of routines and procedures at the core of Java.
This approach to licensing and the paternalistic attitude toward Internet and enterprise application developers, has helped keep Java from becoming a tool of first choice. The licensing strategy, in particular, has rankled many in the Internet community who are used to collaborative, open and vendor-neutral approaches to standards and protocols.
In the time since Java emerged as a useable tool, a new approach to product licensing has materialized. Called the Open Source Code model, the approach advocates an environment where developers are able to produce new products using core technologies without paying licensing fees for those technologies. Many software builders, especially in the Internet community, believe a huge pool of developers, independent of commercial Caffeine-Induced Hype software companies, can more effectively deliver applications software, platforms and development tools. Some argue that using the Open Source Code model could result in better software than traditional commercial development by expanding the pool of talent and energy available for development.
The new Java license no longer requires developers to pay money up front to get into the Java development business. Whether one is developing Java applets and applications for internal use, or packaging them as a commercial product, Sun only requires payment if the application is distributed.
Sun’s new license, which it calls the Community Source License, has been supported by some people in the Open Source Code movement. Robert Eckstein, author of Java Swing, says, "The Community Source License bestows Java with the more appealing aspects of the Open Source model, significantly widening the braintrust that can further develop Sun Microsystems' Java platform. This agreement also helps to ensure that Java flourishes in a homogeneous environment that both commercial and non-commercial entities can reap benefits from."
But the hype surrounding the license change obscures the fact that Sun still controls the Java specification and expects developers to contribute to its coffers. Stig Hackvan, an Open Source developer and author of Open Source Licensing, has said, "Although the Sun Community Source License is clearly an important step toward a more cooperative relationship with users of Sun technology, it is also clearly not an Open-Source license. One important feature of the Open Source Definition is that users of Open-Source software are free to change it in any way deemed necessary. Sun's license is directed at maintaining control of the Java technology standard, however, and so the SCSL compels licensees to keep in step with Sun's standard, both now and in the future."
Scott McNealy, CEO at Sun Microsystems, may have finally realized that Sun’s approach to licensing was making it difficult for anyone but the most ardent Java acolytes to deploy Java solutions. If so, he was partly right -- the new license may usher in a period where more people participate in setting the direction for Java.
Even so, you shouldn’t be tricked into thinking that somehow Sun has freed up the license for Java. Developers no longer have to pay up front and companies that are not licensees can now participate in the expert group meetings that develop the Java environment. But in the end, Sun still wants your money and expects to be the sole writer of the Java specification that gets sent to the International Standards Organization. The idea that the new license changes Sun’s stranglehold on the Java environment suffers from too much caffeine-induced hype. --Mark McFadden is a consultant and is communications director for the Commercial Internet eXchange (Washington). Contact him at firstname.lastname@example.org.