The Java class libraries, as shipped by Oracle, are a specific implementation of the Java APIs. That means they are protected by copyright, just like all computer code has been since the 1960s.
But Google doesn't ship Oracle's Java class libraries with Android. Instead, it drew upon code from the Apache Harmony project, an open source implementation of the Java APIs. Harmony works the same as Oracle's version -- because it mimics the same APIs -- but it contains all original code. Because it does not share code with Oracle's class libraries, Google argues, it does not infringe on Oracle's copyright.
Serfs on the Java farm
Naturally, Oracle disagrees. It says Google's implementation doesn't need to share any code to violate the API copyright. If it can convince the court, it will be a bad day for programmers.
Oracle's argument is roughly akin to me claiming that because I own the copyright to a book of commonly used English phrases, publishers of Shakespeare need to pay me royalties. If it holds true for Java, it will hold true for any programming language, from any source. That could radically change the relationship between developers and platform vendors.
For one thing, it raises questions about programming language licensing. If the most basic language APIs can be copyrighted, would that not in effect make any program written in any language a derivative work of that language's APIs? How would that work in practice? Who would developers have to pay? What rights would they have to sign away?
At worst, it could cement the idea that programming languages are not tools but products. Instead of being partners with a platform vendor, programmers become just another customer segment, consuming developer tools the way business users consume word processors or spreadsheet apps. In short, it would be back to the bad old days.
No clean hands
It's worth noting that Google is not blameless in this case. It could have created an alternative to Java for Android. It's certainly more than technically capable. It chose Java because using an existing platform was more expedient.
Google could have licensed Java. In fact, among the most damning evidence in Oracle's favor are emails from Google employees -- apparently overruled by senior management -- advising that licensing Java was the best course.
Google has already proposed a settlement plan that would give Oracle a cut of past and future Android profits, so it's not being totally unreasonable. It doesn't want something for nothing. It just wants to license Java on its own terms, not Oracle's.
In the end, maybe Java creator James Gosling said it best when he wrote that this case is less about "patents, principles, and programming languages" than it is about "ego, money, and power" -- on both sides. It's just a shame that the future of programming may hang in the balance.
This article, "Oracle vs. Google: Who owns the Java APIs?," originally appeared at InfoWorld.com. Follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.