In general, we are pleased about Sun's announcement that they intend to open source Java and are very supportive of the move.IBM has since 2003 been pressuring Sun to open source Java. On every JSR passed by the JCP since 2003, IBM has included the following clause in its vote (excerpted from the final ballot votes of any JSR):
IBM supports all the OSI approved open source licenses. Having said that, there already is an important existing open source effort working with Sun to create a Java compatible implementation of Java SE in the Apache Foundation – namely the Harmony project. In addition, there have been some very recent announcements that companies active in the Java ME space will be contributing key Java technologies to the Apache Foundation to jumpstart Java ME projects.
In light of the Apache projects, we have discussed with Sun our strong belief that Sun should contribute their Java technologies to Apache rather than starting another open source Java project, or at least make their contributions available under an “Apache friendly” license to ensure the open source Java community isn't fragmented and disenfranchised, instead Sun would be bringing the same benefits of OS Java to this significant and growing open source community.
IBM's vote is based on the technical merits of this JSR and is not a vote on the licensing terms. IBM supports licensing models that create an open and level playing field by allowing third parties to create independent implementations of Java Specifications and that do not allow individuals or companies to exercise unnecessary control for proprietary advantage. We support open source as a licensing model for contributions in the JCP, and would hope others will support this direction. This comment is not necessarily directed at the current business or license terms for this JSR, however, it is a statement of IBM's preferred licensing model.Infact in IBM's open letter to Sun from Jan 2004 Rod Smith declared IBM's willingness to "work with Sun on an independent project to open source Java." IBM has also been a backer of Apache Harmony and with Intel has a made many contributions to the project, including full time employees. It's clear that Harmony would have been IBM's preferred vehicle for open sourcing Java.
Also at issue is the license and governance. IBM would have preferred ASF style license, which would give the ability to for anyone to modify Java and re-distribute under their own licenses, including commercial. GPL forces modifications to also be licensed under GPL and released as open source, which might make certain commercial business models impossible. However, as Sun officials mentioned in the Second Life briefing, existing Sun commercial licensing mechanisms will still be in effect, so any company can still license Java SE directly from Sun on customized terms (as IBM is doing today for it's custom operating systems and hardware).
The selection of GPL means that Harmony cannot include and redistribute OpenJDK code whereas the reverse is true. The Harmony project however will continue, according to Geir Magnusson.
In David Berlinds must read "the ripple effects of GPL'd Java", David clarifies:
Sun had no choice but to make a fragmenting choice. By choosing to go with the GPL, the move equates to legal alienation of the Apache community. Had Sun gone with the Apache license, it would have legally alienated the GNU Classpath community. Sun had to make a choice... But, in finally answering IBM calls to open source Java, there's no doubt in my mind that Sun knew exactly the sort of indigestion that selecting the GPL would cause to IBM. In doing so, much the same way it's probably best for the existing GNU Classpath project to be wound down, it probably doesn't make a lot of sense to continue redundant investments in other open source clones of Java at this point. With the selection of the GPL, Sun may have completely neutralized the enourmous investment that IBM has so far made into open source Java. Especially now that Sun's selection of the GPL paves the way for Red Hat, Suse, and others to include Java with their Linux distributions.