The Future of Java: Part 3

Is the future of Java and Open Source one in the same?


August 21, 2006
URL:http://www.drdobbs.com/jvm/the-future-of-java-part-3/192202584

Eric Bruno is a Java consultant, author of Java Messaging, and Java blogger for Dr. Dobb's. He can be contacted at [email protected].


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.

The Sun Open-source Roadmap

Based on the August 14th announcement at LinuxWorld in San Francisco by Rich Green, Laurie Tolson, and Alan Brenner from Sun Microsystems, we know the following:

Sun seems to be trying to consider the impact to developers, corporations, and Java itself, as they sort out the open source details. Therefore, as a developer, be sure to voice your opinion. Sun has created a new site to keep you informed, and let you provide feedback.

Jean Elliott, director of developer marketing at Sun, recently had this to say:

Most importantly, we're not doing this in isolation. We want to learn from successful open-source projects how best to go about this and we want to include the Java developer community in the process. Without involving the developer community, Java won't reap the benefits of the open source development model.

The Road to Open-source Java

The road that led to the decision to open source Java was certainly laid by Project Peabody, as outlined in the previous installment of this article series. I recently spoke with Mark Reinhold, chief engineer and architect for Java SE, about the impact developer contributions have had on Java over the past two years.

Mark told me that when the first Mustang (Java SE 6) beta was released in February of this year, Sun expected to see a spike in bug reports. To everyone's surprise, this didn't happen. Initially, the concern was that the beta release was not as popular as it was expected to be, and it was not generating enough excitement. Upon further analysis, this could not be further from the truth.

The reality was that the Mustang beta was very popular; it just so happened that many of the bugs related to new Java features were already reported and fixed prior to the release, thanks mainly to the Java community. Since developers had access to the source and binary updates each week leading up to the release, the problems were reported and cleared up incrementally by both the community and Sun. Furthermore, the analysis showed that overall quality had improved over previous revisions of Java, with total bug counts lower than in the past.

The conclusion was that opening the source to the Java community led to fewer regression-related bugs, and the improved quality of new features due to early feedback, and the feedback on the design before code was even created. Going forward, the program will be expanded when Sun releases a system based on the Subversion source-code control system to make it easier for developers to download updates to the Java source code.

Conclusion

Judging by the feedback and improved quality, Project Peabody, with weekly releases of Java SE source and binaries, has been a big success. Overall communication has improved for both Sun and Java developers, and the Java community is subjected to fewer surprises as all Java development work is open and available to those who wish to download it.

This program will more than likely be impacted as Java is released under an open-source license; hopefully in a positive way. Be sure to pay close attention to the java.net community, Sun open-source web site, and the Dr. Dobbs Portal Java department to keep up on the ever-evolving world of Java software development.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.