Remaining Obstacles for Java
At first glance, it looks like Oracle has listened to, well, someone, with respect to the JDK on Mac OSX.
It looks like this was in the works for a while, but naturally Apple and Oracle’s public relations department weren’t in sync, resulting in a lot of hand-wringing – regardless, this is still great news.
Regardless of whether it’s a huge PR fail or just a great and recent decision, it means that the Mac remains as a valid, current platform for Java development – important as so many visible leaders in the Java ecosystem rely on Apple hardware. But is it enough?
Possibly, although it’s hard to tell. The Oracle/Google lawsuit remains, and the field-of-use restrictions for implementations of Java still exist.
The Oracle/Google Lawsuit
Oracle sued Google over certain patterns found in the Dalvik JVM, that Oracle claims infringe upon its rights. Google has naturally pointed the finger elsewhere, stating that a group of vendors is responsible if anyone is, which is a curious, if legally defensible, stance.
It’s curious because it’s sort of the “he hit me back,” defense: “Yes, we’re using your intellectual property, but it’s not our fault, as it’s everyone else’s.”
It’s smart, because it leaves the “yes, we’re using your intellectual property” up to debate.
The best likely outcome is probably that Google pays a licensing fee to Oracle for every Dalvik installation. Users lose $15 (a suggested amount), developers retain what is probably the most vibrant and definitely the most visible development platform for Java, and lastly, Oracle gets an additional income stream to justify purchasing Sun. The latter might spur a good-will feeling towards more of Sun’s policies, which would encourage Oracle to be more benign – but this is a long shot.
The worst likely outcome is that Google digs in its heels and changes Dalvik away from Java. That means the additional momentum Java has thanks to Android disappears, and Java gets a huge black eye – after all, people have thought that this is what would happen to Mono thanks to C#, and here it would be happening to Java, instead.
(The reason that “likely” is up there is because there are definitely better outcomes, although they’re pie-in-the-sky things indeed: Oracle could have a change of heart and just accept that Google’s using what they consider a violation of patent – which would be idiotic on their part, as it removes any ability of theirs to defend their intellectual property – or they could sell Java to Google, which has been suggested but is about as likely as a tornado depositing a young girl in the land of Oz.)
The field-of-use restrictions are a more serious matter, and involve Apache.
Oracle has retained the field-of-use restrictions on the Java TCK, such that Harmony cannot be run on portable devices, despite having asked Sun to remove those same field-of-use restrictions back in 2007 (see Resolution 2, proposed by BEA, voted “Yes” by Oracle, with a grand total of zero “No” votes).
Java is supposed to be open-source friendly, which is certainly the case provided that open source is all right with being told where it is acceptable. In Apache’s case, being told where a product can be used is a violation of trust, and it’s an issue that Apache’s always had with Java.
As a result, Apache has asked members to vote against Java 7. This could be a problem – and it makes sense, too, because otherwise Apache would be accepting limitations that it’s said it would never accept (and, in fact, which its open source license prevents.)
Now, Oracle could always ignore Apache, and ignore the JCP, and ratify Java 7 all on its own; it owns Java, after all.
But what would that mean?
It’d be an admission that the JCP has failed, that the Java ecosystem no longer steers itself, and it would stamp Java as a tool for Oracle to bring all of us, mere flies, into its parlor.
That sounds like a lot of doom and gloom, and it’s exaggerated for effect – but we’re playing in a political arena, and the last thing Java needs is to give the impression that all is not well.
So what should happen here with the field-of-use restrictions? It’s hard to say. Oracle’s more or less hoist with its own petard; they can’t tell Apache that the field of use restriction is lifted without giving Google a leg up in the Oracle/Google lawsuit. (Disclaimer: I ain’t no lawyer.)
However, if one sees the Google lawsuit as a bad thing in the first place, perhaps Oracle could learn to see it as a pyrrhic defeat: having lost with Google, it might win the hearts and minds of developers inclined elsewhere since Sun’s purchase.