Eric Bruno is a Java consultant, author of Java Messaging, and Java blogger for Dr. Dobb's. He can be contacted at firstname.lastname@example.org.
There's been a lot of buzz lately regarding Sun's plans to release Java to the open-source community. Before this plan was announced at JavaOne 2006, there was a lot of buzz about whether Sun should release Java as open-source. So, for a while now, a lot of time and energy has been put into discussions and debates related to Java and open-source. For a moment, let's explore the motivations behind this.
Java is a money-maker for Sun. Don't make the mistake of thinking Java is free--it isn't. Yes, it may be a free download for developers, but those who want to use Java (its runtime and/or brand) within their products have to license the right to do so. Are you planning to release a JMS-compatible server, a cell phone with Java ME embedded, or a video poker terminal built with Java for sale to casinos, for example? Be prepared to pay up.
With current licensing, unless you're planning to offer a new Linux or OpenSolaris distribution, you must pay Sun for the right to use Java in your product, and there's nothing wrong with that. Java is Sun's technology, and they have every right to do with it as they see fit. See Part 2 of this article series more information on the Distro License for Java (JLJ).
What is Open Source?
The open source movement is a derivative of the free software foundation's philosophy that all software should be made available in source code form to allow it to grow through modification and extension. However, the desire of software developers to control the derivative works that may arise from their source code has led to the open source movement as we know it today. This includes the most common open-source software license models, such the GNU General Public License (GPL), the Lesser GNU General Public License (LGPL), and the Apache License. You can review these licenses in detail at:
Sun's choice for an open-source license has not yet been disclosed, although they did say it will be an OSI-approved license. The choice of license is important, as it has implications to those who use open source Java in their embedded projects; namely whether third-parties will be required to release their derivative software works as open source also. As you can imagine, most third-party vendors will not be in favor of this, and will instead choose to purchase a commercial license from Sun to protect their own intellectual property.