Java's licensing is more complex now that it's open source, which might explain why Oracle favored the patent route in its complaint against Google. Open source luminary Bruce Perens points out that the Java Language Specification includes language granting Java implementers free license to Sun's patents, but that doesn't apply here. That license is only valid for complete implementations of Java and its required packages, "without subsetting or supersetting," which the Android implementation clearly is not.
Oracle's complaint also mentions copyrights, but here the details are scant. Java and Android are both open source, but although Java uses the GPL, Google favors the more business-friendly Apache license. If Google included verbatim Java source in its code base, that license discrepancy could be sufficient grounds to establish infringement.
What happens next?
Google claims Oracle's actions are "an attack on the Java community," but that would only be true if Google were promoting Java. To the extent that Android and the Dalvik VM are a divergent implementation that flouts the established Java standards, however, Oracle is right in describing Android as a competitor to pure Java. And as the owner of the Java intellectual property, Oracle has the right -- and, perhaps, the responsibility -- to defend the platform against such a competitor.
But let's not kid ourselves. The comparison to Darth Vader is hyperbole, but nobody ever accused Oracle of being a white knight, and it's certainly not acting out of selfless motives here. At the end of the day, this is all about the money. With Android now a well-established platform, Google can little afford a protracted legal battle. Oracle expects Google to settle, and the end result will be a Java coffee-cup logo on every Android smartphone and a nice, new revenue stream for Oracle. What's more, the suit will further cement the idea that the path to Java lies through Oracle, and Java implementers avoid that path to their peril.
Still, is that so terrible? The Java community needs a leader. Sun's attempt to push Java governance into the loving arms of the community has proven to be like so many other ideas that came out of that failed company: academically sound, diplomatically prudent, but ultimately unworkable. Google's Bloch was right in calling for Oracle to take a firm hand on the reins. Maybe he should have been more careful what he wished for.
Mind you, a legal victory for Oracle is not assured. The specific patents named in its complaint have raised many eyebrows and much skepticism.
There's time yet for Google to dodge this bullet -- and the easiest way might be to dodge Java itself. So don't be surprised to hear that a future iteration of Android will be the first platform based on Google Go.
This article, "Why Oracle was right to sue Google," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com.