The structure, sequence and organization of the 37 Java APIs at question in Oracle v. Google are not copyrightable, according to Judge William Alsup in his ruling on Thursday afternoon.
However, it's a narrow ruling that only covers the APIs at question in the copyright phase of this case.
See also: CNET: Judge William Alsup: Master of the court and Java
Oracle had sued Google over copyright infringement related to the use of 37 Java APIs used on the Android mobile operating system. Google argued they were free to use because the Java programming language is free to use, and the APIs are required to use the language. Oracle tried to make the case that Google had knowingly used the APIs without a license from Sun Microsystems, which was bought by Oracle in 2010.
In what was once touted as a $6 billion case, it now looks like Oracle is going to end up with not much more than a hefty legal bill. Last week, the jury ruled that Google was not guilty of patent infringement on both counts related to U.S. Patent Nos. RE38,104 and 6,061,520. Yesterday, Alsup rejected Oracle's motion to overturn the jury's verdict.
That's after the jury came back with a partial verdict in the copyrights phase of the trial a few weeks ago in which the then-12 jurors said that Google had infringed upon Oracle's copyrights -- but they could not come up with a unanimous answer on the question of fair use.
However, now Alsup has handed another win to Google by ruling that the 37 APIs weren't copyrightable in the first place. Here is the heart of the ruling:
So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical.
Under the rules of Java, they 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 monopolize that expression. And, while the Android method and class names could have been different from the names of their counterparts in Java and still have worked, copyright protection never extends to names or short phrases as a matter of law.
The key point to understand here is that Alsup's ruling only refers to the APIs in this lawsuit, and he is not handing down a broad ruling that would extend to all APIs in general.
"This order does not hold that Java API packages are free for all to use without license," Alsup wrote. "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."
Thus, that calls for two major decisions wrapped up: Oracle's copyright infringement claims against Google are dismissed, turning Google's motion for a retrial into a moot point.
Now the big question will be where Oracle heads from here: accept the U.S. District Court's decision or try to go for an appeal.
The latter seems like an incredible long shot given that it barely won on any counts from the jury on copyrights and absolutely nothing on patents.
The jury only gave Oracle the win on the nine lines of code involved in the rangeCheck method, and Alsup had previously said before Oracle could only hope for statutory damages -- a maximum of $150,000 -- at best on those. The court later tacked on the test files, but Oracle's efforts in this case will not result in the payday for which it originally hoped.
Yet Alsup nodded towards the possibility that Oracle will try again anyway, explaining in regards to rangeCheck and the test files that "this circumstance is so innocuous and overblown by Oracle that the actual facts, as found herein by the judge, will be set forth below for the benefit of the court of appeals."
Nevertheless, an appeal would still be extremely difficult considering that Alsup has tightly buttoned up this case as it related to the 37 Java APIs and Android only.
Google has already issued the following statement:
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.
Oracle also issued the following response:
Oracle is committed to the protection of Java as both a valuable development platform and a valuable intellectual property asset. It will vigorously pursue an appeal of this decision in order to maintain that protection and to continue to support the broader Java community of over 9 million developers and countless law abiding enterprises. Google's implementation of the accused APIs is not a free pass, since a license has always been required for an implementation of the Java Specification. And the court's reliance on "interoperability" ignores the undisputed fact that Google deliberately eliminated interoperability between Android and all other Java platforms. Google's implementation intentionally fragmented Java and broke the "write once, run anywhere" promise. 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.
For a look at the Alsup's ruling in full, read through the document below.
Oracle v. Google: Order Regarding Copyrightability of APIs