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.
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.”
Google and Oracle have been fighting over Android’s Java interoperability for more than 10 years now, spanning three trials and two distinct appeals. The current incarnation of the case turns on whether Oracle can claim a copyright over roughly 11,500 lines of code, representing 37 separate APIs. Google developed the APIs independently, but they’re clearly based on equivalent APIs in the Java code, designed to model and interoperate with the separate language. Oracle claims their “structure, sequence, and organization” is so similar as to violate the company’s copyright on the Java code.
In 2014, a federal appeals court ruled that the APIs could be subject to copyright, in a decision written 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 was not fair use, opening the company up to $8.8 billion in damages. Today’s decision overturns that ruling.
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 instance, Justice Stephen Breyer compared the case to instituting a copyright on the QWERTY keyboard, saying, “if you let somebody have a copyright on that now, they would control all typewriters, which really has nothing to do with copyright.”