The first phase of the case lasted from 2010 to 2015. Oracle successfully established that APIs are copyrightable, but their claims of patent infringement were rejected.
First District Court trial , who presided over both trials at the District Court level On August 13, 2010, Oracle sued Google for copyright and patent infringement in the
District Court for the Northern District of California. Oracle asserted Google was aware that they had developed Android without a Java license and copied its APIs, and that Google therefore infringed Oracle's copyright. Oracle also cited seven Oracle-owned prior patents related to the Java technology created by Sun that Google should have been aware of as they had hired former Sun developers that worked on Java. Oracle sought both monetary damages and an injunction to stop Google from using the allegedly infringing materials. The case was assigned to Judge
William Alsup, who split the case into three phases: copyright, patent, and damages. The copyright phase started on April 16, 2012, and consisted of several distinct claims of infringement: a nine-line
rangeCheck function, several test files, the
structure, sequence and organization (SSO) of the Java (API), and the API documentation. Oracle alleged infringement of 37 separate Java APIs which had derived from the Apache Harmony project. Oracle requested a
judgement as a matter of law (JMOL) that the case dismiss any fair use defense since the jury was split, as well as to overturn the jury's decision on eight security-related files that they had reviewed and found non-infringing but which Google had stated they copied verbatim; Alsup concurred. Google asked for a similar JMOL related to
rangeCheck, but Alsup denied this request. The patent phase began on May 7, 2012, with the same jury. By the time of trial, Oracle's patent case comprised claims from two patents, 6,061,520 (Method and system for performing static initialization), (the '520 patent) and RE38104 (Method and apparatus for resolving data references in generated code). (the '104 patent). Google pursued a non-infringement defense. For the '520 patent, they argued that they were using parsing for optimizing static initialization, rather than "simulating execution" as the claim required. For the '104 patent, they argued that the instruction did not include a symbolic reference. On May 23, 2012, the jury found non-infringement on all patent claims. Judge Alsup issued the final verdict for both these phases on May 31, 2012. While the jury had found for Oracle regarding copyright infringement of the APIs, Alsup determined that the APIs were not copyrightable in the first place: Alsup did agree with the jury that the
rangeCheck function and eight security files were a copyright infringement, but the only relief available was
statutory damages up to a maximum of As a result of these rulings and a stipulation, there was no jury damages phase. The parties agreed to zero dollars in statutory damages for the small amount of copied code by June 2012.
First appellate ruling Shortly following the conclusion of the District Court case, both parties attempted to file additional JMOLs on elements of the ruling which Alsup dismissed, leading to Oracle appealing the decision and Google filing a cross-
appeal on the literal copying claim. Because the case involved claims related to patents, the appeal was automatically assigned to the
United States Court of Appeals for the Federal Circuit. The hearing was held on December 4, 2013, and the judgment was released on May 9, 2014. The court noted that Copyright Act provides protection to "original works of authorship fixed in any tangible medium of expression" (p. 17). The legislative history explains that literary works include "computer programs to the extent that they incorporate authorship in the programmer's expression of original ideas, as distinguished from the ideas themselves" (p. 18). To qualify for copyright protection a work must be original. 17 U.S.C. § 102(a). The court was therefore "first to assess whether the expression is original to the programmer" (p. 24), something that Google had already conceded (p. 21). This led the court to conclude "that the overall structure of Oracle's API packages is creative, original, and resembles a taxonomy" (p. 14). It therefore reversed the district court's decision on the central issue, holding that the "structure, sequence and organization" of an API is copyrightable. It also ruled for Oracle regarding the small amount of literal copying, holding that it was not
de minimis. The case was remanded to the District Court for a second trial, to consider whether Google's use was acceptable anyway, under the
doctrine of fair use, since the original case had not brought out the facts related to fair use sufficiently for the Appeal Court to rule on that point. In October 2014, Google petitioned the U.S. Supreme Court to hear the case; this request was denied in June 2015. == Second phase: fair use ==