Java APIs Aren’t Copyrightable–Oracle v. Google (Guest Blog Post)
By Tyler Ochoa (see some of Tyler’s other posts) with comments from Eric
Oracle America, Inc. v. Google, Inc., 3:10-cv-03561-WHA (N.D. Cal. May 31, 2012).
On Thursday, Judge William Alsup concluded the district court phase of the Oracle v. Google Java-Android trial by holding that the structure, sequence, and organization of the 37 APIs copied by Google is not protected by copyright.
Judge Alsup is to be commended, both for taking the time to understand Java at a highly technical level, and for explaining it with extraordinary clarity. This is by far the most careful and well-written opinion on software and copyrights I’ve ever read. The opinion is so well-written, and so carefully reasoned, and demonstrates such a strong understanding of the technology involved, that I will be astonished if it is not upheld on appeal.
Judge Alsup’s opinion relies on several well-established propositions of copyright law in holding that the structure, sequence, and organization of the APIs copied by Google is not copyrightable. First, under 17 U.S.C. § 102(b), copyright protection does not extend to “any idea, procedure, process, system, method of operation, concept, principle, or discovery.” That means that anyone is free to write a computer program that implements the same functionality as Oracle’s APIs. This is what Google did; they wrote their own source code to implement the same functions contained in Oracle’s APIs. The judge is correct that this is perfectly lawful.
Second, if there is only one way to implement a particular idea, procedure, process, system, or method of operation, then the merger doctrine says that the expression necessary to implement that idea is also not copyrightable. Judge Alsup relied on this proposition to hold that the declarations (programming syntax) for a particular method MUST be identical in order to function in the same way. The only thing that can differ is the name; everything else is specified by the requirements of the Java programming language, which all parties agreed is not copyrightable.
Third, names and short phrases are not copyrightable, even if they are original. Thus, the fact that Google used the same names for each of the methods or functions that it implemented is not itself a violation of copyright.
Fourth, and finally, what Google copied was the organization of those method names into classes and packages. The court found that this organization was original and creative. In other words, it is true that Sun/Oracle could have organized the methods into different classes and packages. Such organization schemes (taxonomies) are ordinarily copyrightable. BUT, the court found that the organization scheme ALSO functioned as a method of operation. Specifically, the Java language requires that a command MUST be in the form “java.package.Class.method()”. This means that in order for a program written in Java to invoke a particular function, Google had to copy the structure, sequence, and organization of some of these packages in order for a program containing such a command to work properly.
This ruling is similar to the ruling by the First Circuit in the mid-1990s that the menu command structure of Lotus 1-2-3 was original and creative, but that it was not copyrightable because it was also a method of operation. The Supreme Court granted certiorari to review the case, but one judge was recused, and the ruling was affirmed by an equally divided Court on a 4-4 vote. Although that was something of a controversial ruling at the time, it has widely come to be accepted law, and I would be surprised if the Court of Appeals or the Supreme Court would take issue with it now.
Part of the reason is that broad copyright protection is no longer necessary. Judge Alsup says: “As software patents gain increasingly broad protection, whatever reasons there once were for broad copyright protection of computer programs disappear. Much of what has been considered the copyrightable ‘structure, sequence and organization’ of a computer program will become a mere incident to the patentable idea of the program or of one of its potentially patentable subroutines.” If Oracle wanted to protect its APIs, and they were shown to be novel and non-obvious, it could have obtained patent protection. Indeed, Oracle DID obtain patent protection for some aspects of Java, but the jury specifically found that none of those patents were infringed by Google. Allowing copyright protection would allow Oracle to block any competing implementation of its APIs without having to demonstrate that it had done anything novel or non-obvious.
Obviously, this is a HUGE win for Google. Oracle gets nothing but nominal damages for the incidental copying of nine lines of code (out of thousands of lines in a particular class), and for copying eight computer files that were never used in Android. In order for Oracle to get anything more, it will have to convince the appellate court that Judge Alsup is wrong AND it would have to persuade a jury on retrial that the use was not a fair use (when this jury was reportedly deadlocked 9-3 in favor of fair use). Oracle can continue pouring money down this sinkhole if it wants to, but it would be well advised to concede defeat now.
Competition in the enterprise software industry is as bare-knuckled as any I’ve seen. Thus, it’s not surprising that Oracle, forged from decades of pitched battles, litigates to WIN. We saw some of this zeal in its TomorrowNow/SAP lawsuit, where Oracle didn’t just seek a court victory, it sought complete annihilation. Oracle came close to realizing all of its dreams with one of the largest copyright damages awards of all time (even though the court subsequently scaled back the damages award).
Oracle’s lawsuit against Google reflects the same fight-to-the-death spirit, exported to a new competitive setting (smartphones instead of enterprise software). I wonder if transplanting this to-the-death attitude to the new context didn’t ultimately work to Oracle’s disadvantage. Oracle’s hubris seems to have hurt it with both the jury and the judge.
If Oracle is GOBOGH (GO Big Or Go Home), Judge Alsup has made it clear that it’s time for Oracle to go home. Consider this snippet from the ruling:
Oracle has made much of nine lines of code that crept into both Android and Java. 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.
Two interesting things about this. First, it’s never good when the judge calls a crucial part of your case both innocuous and overblown. Second, I can’t recall the last time a judge said in an opinion “I’m only writing this part of the opinion because of the inevitable appeal.” You can almost hear the resignation in the judge’s voice that Oracle will bring a fruitless appeal despite his best efforts to stave off the wasted motion. I have to imagine that every appellate judge reading this paragraph will detect Judge Alsup’s exasperation. That does not bode well for Oracle’s chances on appeal.
Other reactions to the ruling:
* SCU’s incoming new law professor Brian Love was quoted in the San Jose Mercury News as saying: “This is now effectively a total loss for Oracle, across the board…It’s absolutely the best possible case for Google.”
* EFF: No Copyrights on APIs: Judge Defends Interoperability and Innovation