Header graphic for print
New Media and Technology Law Blog

Oracle v. Google Judge Writes the Book on Software Programming Copyright – For Now, Anyway

Posted in Copyright, Open Source

The trial in the dispute between Oracle and Google over the use of Java technology in the Android operating system is over, and the greatly anticipated ruling on copyright in the Java Application Programming Interface (API) has issued. The court ruled that the elements of the Java API, including the structure, sequence and organization, are not protected by copyright. It is important to note that the court did not rule that no elements of an API may be protected by copyright. Although broad in its implications, the opinion is fact-specific to the Java API.

As appropriate to a dispute that presiding judge William Alsup referred to as “the World Series of technology litigation,” the API ruling is world-class.  The opinion will quickly make its way into technology law textbooks, not only for the clarity of the court’s discussion of how the Java programming language functions, but for its mini-treatise on software copyright law.

Whether the ruling will survive the already announced appeal is another issue, of course. But it should be noted that the due to the patent issues in the case, the appeal will be heard in the Federal Circuit, where familiarity with complex technology issues may, in general, be assumed.

That Judge Alsup’s dissection of the Java programming environment would be both extremely granular and technologically astute was no surprise to anyone who followed the trial. The court’s questioning of key witnesses, coupled with a series of technically detailed questions to the litigants and numerous rounds of briefs on software copyright issues, showed a judge who was deep into the details of software programming.

But the dramatic reveal of Judge Alsup’s technology chops came well into the trial, in an off-hand comment. In the course of debunking Oracle’s argument that Google had gained an advantage in copying a small amount of code into the Android operating system (A function called “rangeCheck,” not the APIs that are central to the dispute), Judge Alsup commented: “I have done, and still do, a significant amount of programming in other languages. I’ve written blocks of code like rangeCheck a hundred times before. I could do it, you could do it.”

A judge who codes.  Not your ordinary federal district court judge.

Here are some of the high points of the opinion.

  • As noted above, the court’s explanation of the functioning of the Java computer programming language was a tour de force. If you don’t know what an API is when you start reading the opinion, you’ll know what it is when you’re done. One former computer science instructor, commenting on the ruling, remarked that Judge Alsup had “explained the technical basis of his ruling more clearly than many a CompSci professor could do.”
  • The technical explanation was a necessary precedent to the deconstruction of the Java API into individual, potentially protectable elements, each of which required separate analysis under copyright law. Four separate elements were identified and analyzed: The names of the methods, classes and packages in the API; the structure, sequence and organization of these elements; the method specifications; and the implementation of the methods. This iteration of the Second Circuit’s “abstraction, filtration comparison” test is likely to be the roadmap for analyzing similar software copyright issues in future cases.
  • Oracle’s copyright claim in the names of the methods, classes and packages failed under the merger doctrine and the short phrases rule.  Similarly, the copyright claim in the method specifications failed because the specifications in the Android API were required by the rules of the Java programming language to be identical to those in the Java API in order for the Android API to function with the Java language. Accordingly, the court held that the merger doctrine barred Oracle’s copyright claim.
  • Analysis of the tension between copyright law and patent law was central to the claims in the structure, sequence and organization of the API. The court relied on Copyright Act Section 102(b), which precludes copyright protection of an idea, procedure, process, system, method of operation or concept. The court held that allowing Oracle to claim copyright in functional aspects of the API, even though they were the product of a creative endeavor, would bypass the 20 year limitation on patent claims.
  • The court cited commentary suggesting that broader patent protection for software has lessened the need for copyright protection for potentially patentable elements such as the structure, sequence and organization of programs. (One may wonder how that comment will go down in the Federal Circuit, which has just had the Supreme Court remand back to it a software patent case for reconsideration of its breadth.)
  • The court recognized Oracle’s claim in the implementation of the methods embodied in the API. However, it was conceded that these elements were not copied, that Google had written its own implementations of the Java API.
  • The court did not mention the recent ruling of the European Court of Justice in SAS Institute Inc. v World Programming Ltd. Case C-406/10 (May 2, 2012) (See prior blog post.)  This was surprising, as the court requested comment on the ruling, and some reference to its relevance, or lack of relevance, to the Oracle v. Google dispute might have been expected.

Note also that in a separate ruling, Judge Alsup rejected Google’s equitable defenses of implied license and waiver. The court found that the failure of Sun (Oracle’s predecessor in interest) to take action against Google when it learned of its use of the Java technology was mere inaction, not the affirmative grant of permission necessary for an implied license, nor the overt act indicating an intention to abandon a known right necessary to establish a waiver. The court reserved decision on the defenses of equitable estoppel and laches in the event of a remand.

Given the certain appeal, this is not the last we will hear of this important case. Whether the appellate judges agree with Judge Alsup or not, he has laid out the issues with a remarkable clarity that will aid them in their review.