Welcome!

Coach Wei

Subscribe to Coach Wei: eMailAlertsEmail Alerts
Get Coach Wei via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Apache Web Server Journal, Java Developer Magazine

Apache Web Server: Article

Open Source Java: "Neutral for Vendors, Good for Developers, and Great for Sun"

"This is a smart move and makes a lot of sense for Sun"

The industry has been talking about 'open source Java' for many years and it finally happened. To be honest, I have not been enthusiastic about open sourcing Java. First of all, what does 'open source Java' mean? Java source code has been available for many years. What is the additional benefit of putting such source code under an open source license? Secondly, what kind of open source license we are looking for? Thirdly, if Java is open sourced and controlled by a community, how do we prevent fragmentation and incompatibility? Lastly, what are the drivers from both a technology and business perspective to open source Java? Developing and maintaining Java code is a high cost activity – somewhere somebody has to make money to sustain this sport.

After looking at Sun’s announcement a few times, let me first clarify what "open source Java" means: It is not about Java; it is about open sourcing the implementation. The license is the GPL V2 license:

Java SE: Java HotSpot virtual machine, the Java programming language compiler (javac), and JavaHelp online help software, and JDK.

Java ME: Sun is first releasing the source code for Sun's Java ME Feature Phone implementation based on Connected Limited Device Configuration (CLDC), which currently enables rich mobile data services in more than 1.5 billion handsets, and the source code for the Java ME testing and compatibility kit (TCK) framework. Later this year, Sun will release additional source code for the Advanced Operating System Phone implementation for based on the Connected Device Configuration (CDC) specification and the framework for the Java Device Test Suite.

What does it mean to the community? In my take, it is neutral for vendors, positive for developers and great for Sun.

For developers, the immediate effect is the possibility of having some 5-year old bugs fixed (Java has been suffering from a list of bugs that have been rated high priority by the community but Sun never assigned someone to work on it). Going forward, it is possible that a growing and healthy developer community around world will contribute to this open source effort. Though it begs the questions that are unclear from Sun’s announcements: Who controls code commit? What is the decision process for code commit?

For vendors, GPL license is a big challenge to deal with. GPL is sometimes called “commercially unfriendly” license because GPL license requires value-add software that is based on GPL code to be licensed under GPL. So the result is that it prevents vendors from leveraging the "open source Java" stack to create proprietary software with proprietary IP. In reality, if a vendor is going to use Java implementation from Sun in a proprietary commercial environment, it is probably better for the vendor to license Java commercially from Sun instead of opening up proprietary code to GPL. So from a vendor perspective, Sun's "open sourcing Java" does not really bring any benefits - unless it is licensed in a commercially friendly manner. For example, Rod Smith from IBM has been suggesting that Sun should use an Apache-like license already.

From the perspective of Sun Microsystems, this is a smart move and makes a lot of sense.

The immediate benefit I see is the possibility of increased commercial licenses from Sun (though it looks counter intuitive). Additional commercial licenses are driven by the two factors:

“Open source” branding: customers are more willing to adopt open source products and technologies; The GPL license model: GPL is great for Sun! GPL is challenging for other vendors who are interested building proprietary value-add. For such vendors, it is actually safer to purchase a commercial license from Sun instead of going through the GPL license, which would otherwise force the proprietary value-add to be GPL open sourced as well.

The next benefit is the possibility of reducing the cost of building and maintaining the Java software stack. As “the only company who has not made money from Java,” Sun has spent a lot of money on this software stack, which has been freely downloadable for a long time without any direct revenue. My guess is that the Java software stack has been consuming over one thousand full-time engineers at Sun per year. Overtime, the community can potentially take over some of the work and make it less costly for Sun.

The industry is in transition in general. Web 2.0 is a driving force. Community is a driving force. Open source is another driving force. Open source, in particular, impacts how customers buy products, how developers use product and how vendors do business. Venture investors and smart entrepreneurs are leveraging these forces well. So are some smart vendors. Though a long way to go, I salute Sun for the series of good steps that it has taken in the last 12 months: open sourcing Solaris, supporting x86 and AMD, and now open sourcing Java implementation.

Now my remaining hope is that Sun can get its Java software strategy right and be able to leverage Java to build a profitable business for itself.

More Stories By Coach Wei

Coach Wei is founder and CEO of Yottaa, a web performance optimization company. He is also founder and Chairman of Nexaweb, an enterprise application modernization software company. Coding, running, magic, robot, big data, speed...are among his favorite list of things (not necessarily in that order. His coding capability is really at PowerPoint level right now). Caffeine, doing something entrepreneurial and getting out of sleeping are three reasons that he gets up in the morning and gets really excited.

Comments (5) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
scott 11/16/06 06:40:32 PM EST

1000 Full time Engineers per year ??? No company could stay in business if that were true...

scott 11/16/06 06:40:02 PM EST

1000 Full time Engineers per year ??? No company could stay in business if that were true...

Federico Vela 11/16/06 01:41:59 PM EST

Correct me if i'm wrong, but the license is not "pure" GPL but GPL+E which basically makes it a LGPL, meaning that my code can use java without being GPL'd.

If this is not correct, then Sun might have just shot itself in the foot.

DragonWriter 11/15/06 05:54:44 AM EST

> I expect to see several more versions of
> Java, most of them incompatible with each
> other, coming out soon.

So? There already are several more versions of Java. What keeps the ones that succeed largely compatible isn't licensing (as the non-Sun, non-Microsoft ones are reverse-engineered, not licensed) but the fact that there is no interest in incompatible "Java". Releasing Sun's implementation under the GPL isn't going to change that.

skeptiker 11/15/06 05:52:25 AM EST

I expect to see several more versions of Java, most of them incompatible with each other, coming out soon.