Reusing the Interface: Google v. Oracle and Fair Use for Software APIs

The Supreme Court held that Google's copying of about 11,500 lines of Java API declaring code to build Android was a fair use as a matter of law, reshaping software copyright.

Lines of source code glowing on a dark developer monitor
Declaring code lets programmers call functions by name; the Court treated reusing that vocabulary as fair use. Shutterstock
Educational content, not legal advice. This article explains general legal concepts. It does not create an attorney–client relationship. For your specific situation, consult a licensed attorney.

When the Supreme Court decided Google LLC v. Oracle America, Inc., 593 U.S. 1 (2021), on April 5, 2021, it ended a decade of litigation over the building blocks of modern software—and it did so without answering the question everyone expected it to answer. The fight was over Google’s copying of roughly 11,500 lines of “declaring code” from the Java SE application programming interface (API) to build the Android operating system. Rather than decide whether that code could be copyrighted at all, the Court, in a 6-2 opinion by Justice Stephen Breyer, assumed copyrightability and held that Google’s copying was a fair use of the material as a matter of law. For software developers everywhere, the decision blessed a foundational industry practice: reusing the interfaces that let programs talk to one another.

At a glance

  • Case: Google LLC v. Oracle America, Inc., No. 18-956, 593 U.S. 1 (U.S. Apr. 5, 2021).
  • Court: Supreme Court of the United States; opinion by Justice Breyer for a 6-2 Court; dissent by Justice Thomas, joined by Justice Alito; Justice Barrett took no part.
  • Posture: Reversing the Federal Circuit, which had held the copying both infringing and not fair use, and which had reversed a jury verdict in Google’s favor.
  • Holding: Assuming the declaring code was copyrightable, Google’s copying of the Java SE API to create a new platform was fair use under Section 107; all four factors, properly weighed, favored Google.
  • Significance: Established that reusing API declaring code to build a new and transformative platform can be fair use, calming a long-running threat to interoperability and software reuse.

The dispute traces to Google’s 2005-2008 development of Android. To attract the world’s Java programmers, Google reimplemented the Sun (later Oracle) Java APIs so developers could call familiar methods using familiar names. Google wrote its own implementing code—the instructions that actually carry out each task—but copied the declaring code, the lines that name and organize the methods. Oracle sued. After two jury trials, the Federal Circuit ultimately ruled for Oracle on both copyrightability and fair use, and the Supreme Court granted review.

Deciding fair use without deciding copyrightability

The Court’s first move was a deliberate narrowing. Justice Breyer wrote that the Court would “assume, for argument’s sake, that the material was copyrightable” and resolve the case on fair use. That choice spared the Court from drawing fine lines about whether functional interface code is protected expression—an issue that divides the circuits—while still giving the industry a workable answer. The Court also held that fair use, though it can involve disputed facts, presents a “primarily legal” question for the court, so the Federal Circuit had erred in not deferring to the jury’s verdict on the underlying factual disputes while reviewing the ultimate balance de novo.

That framing matters. By treating the ultimate fair-use determination as a legal question, the Court positioned itself to weigh the factors itself and to articulate a software-specific analysis that lower courts could follow.

Walking the four factors through software

On the nature of the work, the Court found the declaring code “further than are most computer programs” from the core of copyright. It is “inextricably bound” with uncopyrightable ideas (the method’s general organization) and with the investment of programmers who learned the system. That tilted toward fair use.

On purpose and character, the Court found the use transformative: Google reused the declarations to create a new platform—a smartphone environment—and to let programmers deploy their existing Java skills in that new context. That “further purpose” distinguished Android from a mere substitute for Java SE.

On amount, the 11,500 lines were “a tiny fraction” of the API’s millions of lines, and Google took only what was needed to let programmers call on their accrued talents in the new setting. On market effect, the Court found Java SE and Android operated in different markets (desktops/servers versus smartphones), that Oracle was poorly positioned to succeed in mobile, and that enforcing a copyright here would risk letting Oracle harm the public by limiting future creativity. Weighed together, all four factors favored fair use.

The dissent and the limits of the holding

Justice Thomas, joined by Justice Alito, dissented sharply. He argued the Court should have decided copyrightability first—and that the declaring code plainly was copyrightable—and that a proper fair-use analysis favored Oracle, especially on market harm, given the billions Google earned and the licensing market Oracle had cultivated. The dissent warned that the majority’s approach effectively eroded protection for an entire category of computer code by routing around the copyrightability question.

The majority was careful about reach. The Court stressed it was not overturning prior fair-use principles or deciding all software disputes; it decided “no more than” the copying “of a user interface” needed to let programmers work in a new environment. Still, the practical signal was unmistakable: reimplementing an API to achieve interoperability and to build something new stands on strong fair-use ground.

Open questions

  • Are APIs copyrightable? The Court expressly left this open, so the copyrightability of declaring code remains formally unresolved even as fair use offers a defense.
  • How far does the transformative finding extend? The decision rested on building a new platform; reuse that merely substitutes for the original may fare differently.
  • What about non-interface code? The reasoning leaned on the special, interface-bound nature of declaring code, leaving ordinary implementing code outside its core.

Implications

  • For developers: Reimplementing an API’s declarations to enable interoperability and to build a genuinely new product has strong fair-use support, but copying implementing code or simply cloning a product does not.
  • For platform owners: Licensing leverage over interface code is weaker than it once seemed; business models cannot assume control over the vocabulary programmers use to call functions.
  • For litigators: Fair use is now framed as a primarily legal question, so preserve jury findings on subsidiary facts but expect courts to weigh the ultimate balance themselves.
  • For the industry: The decision protects the interoperability that lets software ecosystems grow, reducing the risk that interface copyrights become chokepoints on new platforms.

Frequently asked questions

Did the Supreme Court decide whether software APIs can be copyrighted? No. The Court assumed for argument’s sake that the declaring code was copyrightable and decided the case on fair use, expressly declining to resolve the copyrightability question.

How much code did Google copy? Google copied roughly 11,500 lines of declaring code from the Java SE API, the lines that let programmers invoke prewritten functions by name. The Court emphasized this was a small fraction of the entire API, which runs to millions of lines.

What made Google’s use transformative? The Court found Google reused the declarations to build a new and different platform, the Android smartphone environment, letting programmers apply their existing Java know-how in a new context. That further purpose, plus the limited copying, made the use transformative and fair.

Authorities and sources

Related guides

Lidiia Levitska
About the Author

Lidiia Levitska

International Intellectual Property Attorney

Lidiia Levitska focuses on intellectual property dispute resolution, policy, and advisory work across international institutions and government bodies. From 2021 to 2025 she served at the World Intellectual Property Organization (WIPO), managing arbitration cases and overseeing compliance with the Uniform Domain-Name Dispute-Resolution Policy (UDRP), and earlier led IP policy research as a Senior Policy Officer at the American Chamber of Commerce in Ukraine. She holds an LL.M. in International Intellectual Property Law from Chicago-Kent College of Law and an M.A. in Information Technology Law from the University of Tartu, and was admitted to the Ukrainian Bar in 2019.

More about Lidiia →