A district court judge has ruled that the Java APIs in Android are not eligible for protection under U.S. copyright law, marking a defeat for Oracle in a high-stakes lawsuit against Google.
The ruling is a fairly narrow one, applying only to the 37 Java application programming interfaces that Google was accused of infringing at trial. Still, it will be seen as a victory by many in the software industry, who feared that a ruling in Oracle's favour would stifle innovation among developers.
"This order does not hold that Java API packages are free for all to use without license," Judge William Alsup wrote in his order filed Thursday at the US District Court for the Northern District of California. "It does not hold that the structure, sequence and organization of all computer programs may be stolen. Rather, it holds on the specific facts of this case, the particular elements replicated by Google were free for all to use under the Copyright Act."
Oracle said it would "vigorously pursue an appeal of the ruling."
Oracle sued Google about two years ago, alleging its Android software infringed patents and copyrights for Java that Oracle acquired when it bought Sun Microsystems in early 2010.
The jury cleared Google of patent infringement earlier this month, but it delivered only a partial verdict on the question of copyright infringement. Before Thursday's ruling, Google faced the prospect of a new trial to decide that issue.
However, a larger question hung over the trial: whether the Java APIs can be protected by copyright under US law at all. The judge had to decide that question himself based on the facts in the case and his reading of copyright law, and it's that decision he delivered on Thursday.
His 41-page order discusses in detail the nature of the Java platform and his reasoning for why the APIs cannot be protected by copyright. In essence, Alsup argued that the APIs are a functional, "utilitarian" part of the Java platform and therefore not eligible for protection.
The Java APIs are basically short words and phrases that describe functions that a programmer might want to implement in a Java program, such as "print screen" or "find the square root of."
Anyone is free to write code that implements those functions, so long as the code for the implementation is original, the judge said. The fact that Google used the same names as Oracle for its methods and classes does not matter.
"Under the rules of Java, [the names] must be identical to declare a method specifying the same functionality - even when the implementation is different. When there is only one way to express an idea or function, then everyone is free to do so and no one can monopolise that expression," Alsup wrote.
US copyright law does not typically extend to works that are functional in nature. That was the basis of Alsup's argument, said Edward Naughton, an intellectual-property attorney and a partner with the law firm Brown Rudnick.
"Ultimately, he decided that the methods here, and the structure that Oracle was trying to protect by copyright ... was functional. Yes, he said it was creative and original, but insofar as it's functional, you can't protect it by copyright," he said.
Alsup indicated in his ruling that the patent laws would be a more appropriate way for Oracle to protect its APIs.
His ruling will be welcomed by many in the software industry, who feared a decision in Oracle's favor would set a worrying precedent that software APIs can be protected by copyright.
Such a finding would have stifled innovation, according to some. For example, companies have cloned the APIs used by Amazon Web Services in order to build interoperable cloud software platforms. Those companies might have hesitated before developing such products if a court had explicitly stated that APIs are eligible for protection.
"If Oracle wins, the decision could set a legal precedent that legitimizes controlling behaviours by platform vendors - and introduces a complex and unwelcome legalism into software development," Simon Phipps, a former Sun executive who managed the company's open-source projects, wrote in a column for Infoworld before the trial began.
Google echoed that position in a statement Thursday. "The court's decision upholds the principle that open and interoperable computer languages form an essential basis for software development. It's a good day for collaboration and innovation."
In its statement, Oracle essentially argued the opposite. "This ruling, if permitted to stand, would undermine the protection for innovation and invention in the United States and make it far more difficult to defend intellectual property rights against companies anywhere in the world that simply takes them as their own," Oracle said.
Naughton made a similar argument in a blog post earlier this week.
"Open source licensing of APIs or code works precisely because copyright applies to the API or code and allows the copyright owner to impose the terms and conditions of the open source license," Naughton wrote.
There is no US law that precisely addresses the question of whether Oracle's Java APIs can be copyrighted, Alsup said in his order. "No law is directly on point. This order relies on general principles of copyright law announced by Congress, the Supreme Court and the Ninth Circuit."
His order applies to the 37 Java APIs at issue in the legal battle between Oracle and Google, he wrote. Still, the reasoning Alsup lays out about the functional nature of APIs could influence future cases involving different software platforms.
"Any decision in any case is specific to the case at hand, the judge would only be ruling on these particular APIs. But that is still a precedent," said Tyler Ochoa, a copyright professor at Santa Clara University School of Law, in an interview before Alsup's order was released.
Ochoa has said he did not think the structure, sequence and organization of Oracle's Java APIs merited protection by copyright, and he said that "existing case law suggests something along those lines."
Whatever Alsup decided, an appeal seemed inevitable. Oracle will now take its case to a higher court to see if it agrees with his order.