Skip to main content

Supreme Court sides with Google in Oracle’s API copyright case

Supreme Court sides with Google in Oracle’s API copyright case


The ruling overturns a federal circuit decision favoring Oracle

Share this story

Supreme Court 1 (Verge Stock)
Supreme Court 1 (Verge Stock)

In a ruling on Monday, the Supreme Court found that Google could legally use elements of Oracle’s Java application programming interface (API) code when building Android.

“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,” the Supreme Court ruled in a 6-2 opinion, with one justice (Amy Coney Barrett) not taking part in the ruling. It overturned an earlier federal decision, which found that Google’s use of the API had constituted infringement.

“Google’s copying of the API...constituted a fair use of that material”

The court’s opinion concludes that APIs — which let programmers access other code — are significantly different from other kinds of computer programs. “As part of an interface, the copied lines are inherently bound together with uncopyrightable ideas ... and the creation of new creative expression,” Justice Stephen Breyer writes in his opinion. Unlike many other computer programs, Breyer wrote, much of the copied lines’ value came from developers being invested in the ecosystem, rather than the actual operations of the program. Google used the API to let Java programmers build Android apps, which the court declared is a fundamentally transformative use.

“Google copied only what was needed to allow programmers to work in a different computing environment without discarding a portion of a familiar programming language. Google’s purpose was to create a different task-related system for a different computing environment (smartphones) and to create a platform — the Android platform — that would help achieve and popularize that objective.”

The decision is meant to be specifically focused on APIs as a category. “We do not overturn or modify our earlier cases involving fair use — cases, for example, that involve “knockoff” products, journalistic writings, and parodies,” writes Breyer. The ruling hinges largely on the ways that API code enables new creative expression, something fair use doctrine is supposed to promote. “The upshot, in our view, is that fair use can play an important role in determining the lawful scope of a computer program copyright.”

In the dissent, Justice Clarence Thomas argued the court was creating an untenable distinction between implementing code (which was established as subject to copyright in a previous ruling) and declaring it.

“Congress rejected categorical distinctions between declaring and implementing code,” Thomas wrote. “But the majority creates just such a distinction. The result of this distorting analysis is an opinion that makes it difficult to imagine any circumstance in which declaring code will remain protected by copyright.”

Google and Oracle have been fighting over Android’s Java interoperability for more than 10 years now, spanning three trials and two separate appeals. The current incarnation of the case turns on whether Oracle can enforce its copyright over roughly 11,500 lines in Android’s codebase, representing 37 separate APIs. Google developed the APIs independently, but they’re clearly based on equivalent APIs in the Java code, designed to mimic and interoperate with the separate language. Oracle claims the “structure, sequence, and organization” of the Android APIs is so similar as to violate Oracle’s copyright on the Java code.

In 2014, a federal appeals court ruled that the APIs could be subject to copyright in a controversial decision overturning a ruling by Judge William Alsup. (The Supreme Court declined to hear Google’s appeal the following year, letting the appellate ruling stand.) But that decision left open the question of whether Google’s implementation had violated the Java copyright, and Google launched a second phase of the case arguing that the Android APIs constituted fair use. In 2018, the same appellate court ruled that Google’s implementation was not fair use, putting the company at risk of up to $8.8 billion in damages. Today’s decision overturns that ruling, allowing Google to continue its use of the Android code without threat of a copyright claim.

Notably, then-President Trump’s solicitor general had formally petitioned the Supreme Court to leave the appellate ruling in place, effectively siding with Oracle in the fight.

Oral arguments for the Supreme Court case were held in October, turning on a variety of florid metaphors for what the APIs represented. In one exchange, Breyer compared Oracle’s API claims to holding a copyright on the QWERTY keyboard. “If you let somebody have a copyright on that now, they would control all typewriters,” Breyer noted, “which really has nothing to do with copyright.”

Google global affairs SVP Kent Walker praised the decision. “The Supreme Court’s clear ruling is a victory for consumers, interoperability, and computer science. The decision gives legal certainty to the next generation of developers whose new products and services will benefit consumers,” said Walker. “We are very grateful for the support from a wide range of organizations, from the National Consumers League to the American Library Association, as well as from established companies, start-ups, and the country’s leading software engineers and copyright scholars.”

Oracle, meanwhile, used the ruling to criticize Google’s dominance in the tech space. “The Google platform just got bigger and market power greater — the barriers to entry higher and the ability to compete lower. They stole Java and spent a decade litigating as only a monopolist can. This behavior is exactly why regulatory authorities around the world and in the United States are examining Google’s business practices,” said general counsel and executive vice president Dorian Daley.

Update April 5th, 12PM ET: Added statement from Oracle.