Google Wins Copyright Dispute on Oracle APIs
SAN FRANCISCO (CN) - A federal judge sided with Google on Thursday, ending "the first of the so-called 'smartphone war' cases tried to a jury" by finding that application programming interfaces cannot be copyrighted.
Oracle - which acquired Java copyrights and patents when it bought Sun Microsystems in 2010 - sued Google that same year. It claimed that Google infringed Java's copyrights and patents to develop the Android phones and operating system. At one point, Oracle believed that its claims of intentional and malicious infringement would produce a multibillion dollar settlement from Google.
But Oracle's lawyers failed to convince a jury that Google did anything wrong in the patent phase of the trial, and managed only a mixed verdict in the copyright phase.
Though the jury found Google liable for copying the structure, sequence and organization of 37 Java application programming interfaces (APIs), it could not agree whether the copying constituted fair use, which U.S. copyright law allows. And while the jurors cleared Google of copying documentation for the APIs and eight lines of source code, they did agree that Google violated Oracle's copyright on the Java range-check function - something Google attorney Robert Van Nest referred to as "nine lines out of 16,000."
But in this convoluted case where neither side agreed to much over the course of two years, both sides agreed to the stipulation that U.S. District Judge William Alsup would have the final say as to whether APIs are copyrightable. Alsup explained that this setup would give the appeals court "a wider range of alternatives without having to worry about an expensive retrial."
Alsup summed up the whole of his 41-page ruling in the first line.
"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," he wrote. "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." (Emphasis in original.)
"All agree that Google was and remains free to use the Java language itself," he added. "All agree that Google's virtual machine is free of any copyright issues. All agree that the 6,000-plus method implementations by Google are free of copyright issues. The copyright issue, rather, is whether Google was and remains free to replicate the names, organization of those names, and functionality of 37 out of 166 packages in the Java API, which has sometimes been referred to in this litigation as the 'structure, sequence and organization' of the 37 packages."
"Comparing the 37 Java and Android packages side by side, only three percent of the lines of code are the same. ... Significantly, the rules of Java dictate the precise form of certain necessary lines of code called declarations, whose precise and necessary form explains why Android and Java must be identical when it comes to those particular lines of code.
In open court, Alsup admitted that he himself is a programmer who has written lines of code "a hundred times before."
Over and over again, the highly technical ruling emphasizes that Java was created as a free computer language.
"When Java was first introduced in 1996, the API included eight packages of pre-written programs," Alsup wrote. "At least three of these packages were 'core' packages, according to Sun, fundamental to being able to use the Java language at all. These packages were java.lang, java.io and java.util. As a practical matter, anyone free to use the language itself (as Oracle concedes all are), must also use the three core packages in order to make any worthwhile use of the language. Contrary to Oracle, there is no bright line between the language and the API."
Alsup explained the principles of law controlled the case: When there is only one or a few ways to express something, no one can claim copyright; names and short phrases are not copyrightable, and neither are functional elements essential for interoperability. He also said copyright protection never extends to any idea, process, procedure, system, method of operation or concept; and copyrightability cannot be used to reward an investment made in a body of intellectual property.
"Much of Oracle's evidence at trial went to show that the design of methods in an API was a creative endeavor," the decision states. "Of course, that is true. ... But such inventions-at the concept and functionality level-are protectable only under the Patent Act. The Patent and Trademark Office examines such inventions for validity and if the patent is allowed, it lasts for 20 years. Based on a single implementation, Oracle would bypass this entire patent scheme and claim ownership over any and all ways to carry out methods for 95 years - without any vetting by the Copyright Office of the type required for patents.
"This order holds that, under the Copyright Act, no matter how creative or imaginative a Java method specification may be, the entire world is entitled to use the same method specification (inputs, outputs, parameters) so long as the line-by-line implementations are different. ... The method specification is the idea. The method implementation is the expression. No one may monopolize the idea," Alsup wrote (emphasis in original.)
"In sum, Google and the public were and remain free to write their own implementations to carry out exactly the same functions of all methods in question, using exactly the same method specifications and names," he added. "Therefore, at the method level - the level where the heavy lifting is done - Google has violated no copyright, it being undisputed that Google's implementations are different."
Alsup applied the same rules to the second question of copyrightability, which asked whether Google can group its methods in the same way as in Java.
"Yes, it is creative," Alsup wrote. "Yes, it is original. Yes, it resembles a taxonomy. But it is nevertheless a command structure, a system or method of operation - a long hierarchy of over 6,000 commands to carry out pre-assigned functions. For that reason, it cannot receive copyright protection - patent protection perhaps - but not copyright protection."
"Google replicated what was necessary to achieve a degree of interoperability - but no more, taking care, as said before, to provide its own implementations," he added.
Alsup finished by considering Oracle's claim in its entirety.
"Of the 166 Java packages, 129 were not violated in any way," he wrote. "Of the 37 accused, 97 percent of the Android lines were new from Google and the remaining three percent were freely replicable under the merger and names doctrines. Oracle must resort, therefore, to claiming it owns, by copyright, the exclusive right to any and all possible implementations of the taxonomy-like command structure for the 166 packages and/or any subpart thereof - even though it copyrighted only one implementation. To accept Oracle's claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing their own different versions to carry out all or part of the same commands.
"No one has ever endorsed such a sweeping proposition."
By Alsup's own admission, the decision does not address whether Google needed a license from Sun and later, Oracle, for the Java APIs. But, on the specific facts of this case, the particular elements replicated by Google are free for all to use under the Copyright Act, he wrote. The dismissal of Oracle's copyright infringement claim for the APIs renders Google's mistrial motion over the mixed verdict moot.
In a separate findings of fact and conclusions of law ruling, the judge discounted Google's theories that it had an implied license from Sun to use Java.
"The parties negotiated for a real license but the talks collapsed and no license was given," Alsup wrote. "It would be most bizarre to somehow find an implied license in this scenario."
Google did not prove that Oracle overtly indicated its intention to abandon all of its rights to the Java platform, he also found.
"The several congratulatory communications [from then-Sun CEO Jonathan Schwartz] do not ... constitute a clear indication that Oracle and/or Sun intended to relinquish its rights as to the entirety of its platform," the decision states.
If an appeals court remands the case, Alsup says he would likely decide the issues of equitable estoppel and laches based on the existing trial record.
It remains unclear, based on the copyrightability ruling, whether Alsup will grant Oracle statutory damages for the copied range-check codes, which the jury did agree Google infringed. Both parties agreed on May 16 that Oracle would waive its claims for actual and infringer's profit damages if Alsup decided that the APIs are not copyrightable, and that the judge would hand out statutory compensation up to $150,000.
Oracle is nevertheless certain to appeal both Alsup's latest ruling and the jury's decisions in both phases of the trial.