This summer, Oracle sued Google over Android's use of Java in what I thought was a dubious leveraging of Sun intellectual property to get a piece of the mobile pie. We've heard lots of rumblings and posturing on both sides, but it seems pretty likely that the Oracle/Android dust-up could drag on for a while. Monday, however, IBM shook things up a bit by throwing their support behind Oracle's version of Java.
While IBM has not backed Oracle's lawsuit against Google's use of Harmony (an Apache open source Java implementation used as the underpinnings of Google's Android operating system), it has effectively orphaned Android as a Harmony-based platform. IBM was formerly a major player in Harmony development and struggled for years with first Sun and then Oracle to have it certified for Java compatibility and fully legitimize its use on IBM systems (and any others). However, as the Register described IBM's shift from Harmony to Oracle's OpenJDK Java implementation, Big Blue appears to have been backed into a corner:
The thing that seems to have brought IBM into Oracle's camp was a need to have Java progress. IBM is deeply invested in the success of Java, while Oracle's roadmap for JDK 7 and 8 had zero backing outside Oracle and Sun. And, with no Java Specification Requests (JSRs) yet in place, it seemed JSR 7 and 8 had little chance of being delivered on time.
It seems IBM blinked.
The New York Times put it a bit more diplomatically, but the message is the same:
But I.B.M. announced on Monday that after Oracle extended an olive branch, Big Blue decided to set aside past hostilities from the Sun days. I.B.M. said it would shift its Java development efforts from the initiative it sponsored, called Apache Harmony, to the one begun in 2006 by Sun, called OpenJDK.
“This should remove some of the uncertainty about the future of Java,” said Rod Smith, vice president for emerging technologies at I.B.M.
So where does this leave Google, Android, and its Harmony components? Android has become quite entrenched in the smartphone and embedded markets and is gaining strong developer support. Google is also a major development house using Oracle's OpenJDK. A major shift in codebase could badly hurt Android momentum and the ongoing conflict with Oracle can damage Google's considerable development efforts outside Android with OpenJDK, as well.
Some analysts believe (myself included) that Google is going to press ahead with their own Java development using what they largely view as open source tools to keep on being Google and the shepherd of Android. Others believe that there is going to be a serious licensing deal that frees Google to develop using Java technologies as it sees fit and further lines Oracle's pockets. Still others believe that Google will drop Harmony as well and join Oracle and IBM on the OpenJDK bandwagon, abandoning any Harmony-related code in Android.
If Android were still a fledgling platform on the Nexus One and a couple of T-Mobile phones, the latter would certainly be the easiest and cleanest choice legally. With Android as the mobile juggernaut that it is, however, and Google's seemingly endless cash reserves, I think a settlement is far more likely, and a big Google middle finger to Oracle more likely still. Google may very well end up parting ways with some of its cash and even some Android income, but the uninterrupted development of Android is far too critical for them to make the same leap that IBM announced.