The battle between Oracle and Google over Android’s use of Java just got a lot more interesting. That’s because IBM has announced that it will be collaborating with Oracle to work on the OpenJDK project.
This means that IBM will no longer be part of the Apache Software Foundation’s Project Harmony, the project that provides Android with the components it needs to run Java code. With IBM leaving the project, Harmony is basically dead in the water.
Although Android wasn’t mentioned in the announcement, this is all interrelated to the Oracle lawsuit. Google responded to the lawsuit last week, claiming that Oracle, which got Java out of its purchase of Sun Microsystems, was acting in bad faith.
For the non-Java savvy out there, here’s an abbreviated rundown of how and why all of this stuff matters:
Apache Harmony is an open source implementation of Java. The goal in creating the project was to unite all of the various free software Java implementations together under one banner.
The project had a lot of early support, the only problem was that Sun (and then Oracle) never offered the project with a Technology Compatibility Kit (TCK). The TCK is needed to prove that Harmony is compatible with the Java specification and can be seen as a certified Java independent version of Java. When Sun first open sourced aspects of Java in 2007, it said it would provide the Apache Foundation with the necessary TCK for certification.
Sun never made good on those assurances and when Oracle took over Sun, the new company wasn’t interested in sharing the TCKs, instead wanting to focus all of its efforts on the officially sanctioned open source Java implementation, OpenJDK.
IBM’s Bob Sutor discussed the decision on his blog, writing:
“We think this is the pragmatic choice. It became clear to us that first Sun and then Oracle were never planning to make the important test and certification tests for Java, the Java SE TCK, available to Apache. We disagreed with this choice, but it was not ours to make. So rather than continue to drive Harmony as an unofficial and uncertified Java effort, we decided to shift direction and put our efforts into OpenJDK. Our involvement will not be casual as we plan to hold leadership positions and, with the other members of the community, fully expect to have a strong say in how the project is managed and in which technical direction it goes.”This is a big blow to the Harmony project and by extension, to the libraries and classes that Android implements from Harmony in Android. Without big backing like IBM behind the project, it’s not likely to survive.
For now, the Harmony implementation of Java is fine. The problem will be when future versions of Java are released and Harmony can’t keep up in terms of features.
In Java, staying compatible is key. Interestingly, InfoWorld notes that Google has more developers working on OpenJDK than Oracle. So why choose Harmony for Android?
We think it’s because Google wanted to do an end-run around Sun’s licensing requirements. In essence, getting to take advantage of Java SE on mobile devices (something that Sun explicitly forbade without a license), but not having to pay for it.
Long before Sun’s sale to Oracle, others pointed out the potential licensing and IP quagmire that Google was entering with Android. The reality was, Sun didn’t have the power, the funds or the industry clout to really do anything about it.
Oracle does. In fact, Oracle’s clout and power is underscored by IBM’s decision to join up. IBM may be making its decisions for pragmatic reasons, but in the decision shows that IBM is not willing to side with Google in this elongated fight.
At this point, Google’s only real recourse is to sensibly settle and pay Oracle, or countersue and drag the fight out even longer. By fighting back, Google risks alienating its Java-base of developers.
While we question how important having a strong base of Java developers really is to Android’s success in the long term, it doesn’t mean it’s worth risking the future developments of the platform on a legal gamble.
Oracle is out for blood and IBM just provided the syringe.