LICENSEWARE

Google LLC v. Oracle America, Inc.

This article is about the United States copyright case over the Java SE API declaring code copied into Android. For licensing of Oracle's Java SE distributions, see Oracle Java SE.

On This Page

Google LLC v. Oracle America, Inc. is a decision of the Supreme Court of the United States, issued on 5 April 2021, in a copyright dispute over the Java SE platform. Google had copied roughly 11,500 lines of code from the Java SE Application Programming Interface (API) into its Android platform for mobile devices. The Court held that this copying “was a fair use of that material as a matter of law”. It reversed the judgment of the Court of Appeals for the Federal Circuit and remanded the case.[1]

The Court did not decide whether the copied code was protected by copyright. It assumed “for argument’s sake” that it was, and decided the case on fair use alone.[1] The case had been in the courts for more than a decade. Oracle filed it in the Northern District of California on 12 August 2010.[5]

Background

Oracle America owns a copyright in Java SE, a computer platform that uses the Java programming language. In 2005 Google acquired Android and set out to build a new software platform for mobile devices. The Supreme Court’s opinion says that Oracle Corporation bought Sun, the developer of Java, in 2010, and that Oracle brought the lawsuit soon afterwards.[1]

The opinion separates two kinds of code in an API:

  • Implementing code, which carries out each task. The Court said implementing code made up the vast majority of both the Sun Java API and the API that Google created for Android. Google wrote its own.[1]
  • Declaring code, which gives each task its name and its place in the API’s organisation of methods, classes and packages. For 37 packages, Google copied the declaring code from the Sun Java API. It therefore also copied the names of the tasks and the way they were grouped into classes and packages.[1]

The Court said the copied lines let programmers who already knew Java use familiar method calls on Android, while Google’s own implementing programs carried out the tasks.[1]

The dispute

Oracle first claimed that Google’s use of the Sun Java API infringed both its copyrights and its patents. On copyright, Oracle alleged that Google infringed by copying, for 37 packages, both the literal declaring code and the non-literal “structure, sequence and organization” (SSO) of the API.[1] Google’s position was that copyright could not extend to the copied material, because it was a “method of operation” excluded by 17 U.S.C. §102(b), and that in any case its use was a fair use under §107.[1]

First trial and first appeal

The district court split the case into three phases: copyright, patents, and, if needed, damages. After six weeks of evidence, the jury rejected Oracle’s patent claims, which later dropped out of the case. It found a limited copyright infringement but could not agree on fair use. The judge then ruled that the API’s declaring code was not the kind of creation that copyright protects, treating it as a “system or method of operation”.[1]

On 9 May 2014 the Federal Circuit reversed. It held that “the declaring code and the structure, sequence, and organization of the 37 Java API packages at issue are entitled to copyright protection”. It instructed the district court to reinstate the jury’s infringement verdict and sent Google’s fair use defence back for further proceedings.[3] Google asked the Supreme Court to review the copyrightability ruling. The Court declined in 2015.[1]

Second trial and second appeal

On remand the district court held a jury trial on a single question: whether Google had shown that its use of the declaring code and organisational structure of the 37 packages was a fair use. The jury said it had.[1] Oracle appealed again. On 27 March 2018 the Federal Circuit concluded that “Google’s use of the 37 Java API packages was not fair as a matter of law”. It reversed the district court’s denial of Oracle’s motions for judgment as a matter of law and remanded for a trial on damages.[4]

Google petitioned the Supreme Court. The petition was docketed on 25 January 2019, certiorari was granted on 15 November 2019, and the case was argued on 7 October 2020.[2]

Decision

Justice Breyer wrote the opinion of the Court. Chief Justice Roberts and Justices Sotomayor, Kagan, Gorsuch and Kavanaugh joined it. Justice Thomas dissented, joined by Justice Alito. Justice Barrett took no part.[1]

Copyrightability left open

To “decide no more than is necessary to resolve this case”, the Court assumed that the copied lines could be copyrighted and addressed only whether Google’s use was a fair use.[1]

Standard of review

The Court held that fair use is a mixed question of fact and law. Reviewing courts should defer to the jury’s findings on the underlying facts, but whether those facts amount to fair use is a legal question that judges decide de novo. The Court held that this approach does not violate the Seventh Amendment.[1]

The four fair use factors

The majority found that all four statutory factors favoured Google:[1]

Factor (17 U.S.C. §107) What the Court held 
Nature of the copyrighted work The declaring code is part of a “user interface”. It is bound up with uncopyrightable ideas (the overall organisation of the API), and much of its value comes from programmers’ investment in learning it. This factor favours fair use. 
Purpose and character of the use Google’s copying was transformative. It took only what was needed to let programmers work in a different computing environment, smartphones, on a new platform. 
Amount and substantiality About 11,500 lines, 0.4 percent of the 2.86 million lines of the API at issue. The copying was “tethered to a valid, and transformative, purpose”. 
Effect on the market On the record, Android was not a market substitute for Java SE. Java SE’s copyright holder would benefit from the reimplementation of its interface in a different market, and enforcing the copyright on these facts risked “creativity-related harms to the public”. 

The Court concluded that Google’s copying of the API “to reimplement a user interface, taking only what was needed to allow users to put their accrued talents to work in a new and transformative program, constituted a fair use of that material as a matter of law”. It said it was not overturning or modifying its earlier fair use cases. The Federal Circuit’s 2018 judgment was reversed and the case remanded.[1][2]

Dissent

Justice Thomas would have held that Oracle’s declaring code was copyrightable and that Google’s use of it was not fair. He wrote that Google had sought a license to use the library in Android and copied the code when the companies could not agree on terms. He also criticised the majority for deciding fair use without first deciding copyrightability.[1]

Significance for software licensing and SAM practice

  • What the case was about. The dispute concerned Google’s reimplementation of an interface. Google copied declaring code and organisational structure and wrote its own implementing code.[1] The case did not concern the terms under which Oracle licenses its own Java SE binaries to end users. Those terms are covered in Oracle Java SE.
  • Copyrightability is not settled by the Supreme Court. The Court assumed without deciding that the declaring code was copyrightable.[1] The Federal Circuit’s 2014 holding that the declaring code and SSO were entitled to copyright protection was part of the procedural history, and the Supreme Court did not rule on it.[3][1]
  • Fair use is decided on the facts. The Court’s reasoning rested on the record: the transformative purpose, the small share of the API copied, and the evidence on market effects. It called fair use “flexible” and said it takes account of changes in technology. The holding is framed around “Google’s copying of the Java SE API” on that record.[1]
  • Allocation between judge and jury. Treating the ultimate fair use question as a question of law for judges, reviewed de novo, governs how later software copyright cases in United States federal courts are tried and appealed.[1]

Lessons learned

  • The case concerned reimplementation of an API, not the terms on which Oracle licenses Java SE to end users. Google copied declaring code and wrote its own implementing code; the licensing of Oracle’s Java SE binaries was not at issue.[1]
  • Whether API declaring code is copyrightable remains undecided by the Supreme Court. The Court assumed copyrightability for argument’s sake, and did not rule on the Federal Circuit’s 2014 holding that the declaring code and structure were protected.[1][3]
  • Fair use depends on the facts of each case and is not a general permission to copy interfaces. The holding rested on the record, including the transformative purpose, the small share of the API copied and the evidence on market effects.[1]

References

  1. Google LLC v. Oracle America, Inc., No. 18-956, slip opinionSupreme Court of the United States, opinion of the Court and dissentEffective 2021-04-05. Retrieved 2026-09-30.
  2. Docket for No. 18-956, Google LLC v. Oracle America, Inc.Supreme Court docket: petition, certiorari grant, argument, judgmentRetrieved 2026-09-30.
  3. Oracle America, Inc. v. Google Inc., Nos. 2013-1021, -1022 (Fed. Cir. 2014)Federal Circuit opinion on copyrightability, published by govinfo.govEffective 2014-05-09. Retrieved 2026-09-30.
  4. Oracle America, Inc. v. Google LLC, Nos. 2017-1118, -1202 (Fed. Cir. 2018)Federal Circuit opinion on fair use, published by govinfo.govEffective 2018-03-27. Retrieved 2026-09-30.
  5. Oracle America, Inc. v. Google Inc., No. 3:10-cv-03561 (N.D. Cal.), docketCourtListener copy of the district court docket (PACER-derived)Retrieved 2026-09-30.

See also

Esc