Oracle vs. Google: Who owns the Java APIs?

Oracle calls dibs on the Java APIs, even if Java itself is open. If the court agrees, it'll be bad news for developers everywhere

What if you owned the copyright on the French language? Or Swahili? That's essentially the claim Oracle is making when it says it owns the copyright to the Java language and its associated APIs. If Oracle gets its way, it could change software development forever.

The issue looks to be decided in the lawsuit between Oracle and Google, which began with testimony in a San Francisco courtroom this week. The trial is expected to last up to 10 weeks.

[ InfoWorld Open Sources blogger Simon Phipps simply states: "If Oracle wins its Android suit, everyone loses." | Keep up with software development issues and trends with InfoWorld's Fatal Exception blog. | Master the latest in Java development with our JavaWorld Enterprise Java newsletter. ]

Oracle sued Google in 2010 over the nonstandard implementation of the Java platform in the search giant's Android mobile OS. Android uses its own class library that's a subset of Java's. It's also powered by Dalvik, a unique virtual machine that uses its own binary format rather than standard Java bytecode.

Oracle says these details violate not just the Java license terms, but specific Oracle patents and copyrights. Google has contested both claims. The copyright claim, in particular, it says is baseless. But the case will be hard won for either side.

Oracle: We own Java, probably
For Oracle's part, the copyright claims are increasingly important to the overall success of its suit. It has withdrawn two of its original seven patent claims, and four out of the remaining five have already been rejected by the court. Unless Oracle asserts further patents, copyright is effectively the crux of the case.

If Oracle successfully argues any of its claims, Google will likely have to pay royalties or other licensing fees to Oracle for every Android smartphone and tablet. The problem is that Oracle appears to be talking from both sides of its face.

During his testimony on Tuesday, Oracle CEO Larry Ellison was asked whether the Java language was free for anyone to use without a license. Ellison hesitated before replying, "I am not sure."

That answer appeared to contradict testimony Ellison gave in a video deposition in August 2011. There, when asked what was fundamentally the same question, he answered that yes, Java was free and open for anyone to use.

It also appeared to contradict Oracle's own slides, which it presented during its opening arguments. A table on one slide clearly says it is not necessary to obtain a license from Oracle to write programs in the Java language.

What Oracle is arguing, however, is that because Android uses the copyrighted Java APIs, it infringes on Oracle intellectual property. Android developers are free to use Java, just not its APIs. Google says that's nonsense, and it has strong arguments to back up its position.

Can you copyright an API?
Chiefly, Google argues that the Java language and the Java APIs are one and the same. You can't effectively use one without the other. The Java language syntax is just a shell. Most of the basic building blocks of even the simplest programs -- including data structures, math routines, and routines to print text to the screen, among others -- are not part of the core language. They are included in the Java class libraries, which are described by the Java APIs.

Furthermore, the very idea that you can copyright an API is disputed. There are limits to what copyright covers. You can't copyright a simple recipe, for example, or a list of instructions. Google will argue that's essentially what the Java APIs are; they're an instruction manual for building a Java implementation, not a copyrightable expression in their own right.

1 2 Page 1
Page 1 of 2
How to choose a low-code development platform