In a long anticipated decision, the Supreme Court of the United States has held that Google’s copying of code of an Application Programming Interface (API) developed by Oracle is a fair use of that code. The Court held, 6-2, that Google only copied code “needed to allow programmers to put their accrued talents to work in a new and transformative program” (Justice Barrett did not take part in the decision). Google LLC v. Oracle America, Inc., 593 U.S. ____ (2021).
First, it’s important to note that the Court did not decide whether an API is copyrightable, but rather “for argument’s sake, [assumed] that the material was copyrightable.” That decision will have to wait for another day, because the Court only considered whether Google’s copying was a fair use of Oracle’s API.
Background
The Court described in clear, plain language the intricate software at issue in this case. Oracle developed Java, a programming language for software applications. Google, through its Android platform, copied code from an API, allowing Android programmers to use prewritten Java code for functions in computer programs. Rather than rewrite new code for each function that programmers may want their software programs to perform, the API provides a suite of prepackaged functions that can be easily incorporated into a program. Because these programmers were familiar with Java, Google copied many of these prewritten functions from Oracle’s API for use in Android and “declaring code” for some of those functions, which is best explained in the opinion, but basically acts as an interface between the programmer and the computer being programmed.
The procedural history is complex and lengthy, and we will ignore the patent infringement discussion for brevity. Oracle sued Google for copyright infringement, alleging that Google’s use of the Java API, particularly the declaring code, infringed Oracles’ copyrights. The district court held that the declaring code was not eligible for copyright protection at all, and the Federal Circuit reversed that decision. The Federal Circuit also punted on deciding whether Google’s copying was a fair use, and the Supreme Court at that time denied cert. Remanded to the district court, the jury determined that Google’s copying was fair use. The Federal Circuit again reversed the district court, holding that the copying was not fair use. The Supreme Court granted cert on the copyrightability and fair use issues.
Fair Use
17 U.S.C. § 107, the “fair use” provisions, allow use of a copyrighted material without permission of the copyright holder in certain equitable situations. The statute lists four provisions to be considered in a fair use analysis:
The Court held that fair use is a mixed question of fact and law that could be decided de novo, agreeing with the Federal Circuit on this standard of review. In analyzing the four factors, the Court started with the second, “the nature of the copyrighted work.” The declaring code differs from other types of copyrightable computer code in that the creativity embodied in declaring code is one of functional improvement of uncopyrightable ideas, such as task division and organization. This functional nature leans away from “the core of copyright,” and copying of the declaring code weighs toward fair use.
For the first factor, the “purpose and character of the use,” the Court considered whether the copying was “transformative” that “adds something new and important.” While Google’s copying was a precise copy used for the same features as Oracle’s API, using the copied material in the (at the time) new Android platform amounted to a necessary reimplementation so that programmers could use common programming skills in this new Android environment to create new computer programs. Because this functional code lead to software innovations, the Court held that the “purpose and character” of the copying was transformative, weighing toward fair use.
For the third factor, “the amount and substantiality of the portion used,” the Court noted that while the copied code was large compared to the set of declaring code, but very small compared to the total set of Java API code. The question here was whether the declaring code should be considered in isolation or as part of the entire API. Because the declaring code was necessarily intertwined with the entire API, the Court held that the copied declaring code should be compared to the API as a whole, and that the paucity of actual lines of code copied weighed toward fair use.
For the fourth factor, the Court considered the effects of the copying on the “market for or value of the copyrighted work.” Market analysis is tricky in the fair use context, because while copying can devalue the market for the original by creating a substitute, the value may decrease for other reasons. For example, a bad movie review that kills box office sales certainly devalues the copyrighted movie, but such harm “is not cognizable under the Copyright Act.” And public benefits may outweigh small economic devaluing from the copying. Here, the jury considered that Oracle did not have or create a smartphone platform with its API, and that Google’s ultimate product, Android phones and software, was in a completely different kind of market than Oracle. The Court relied on this factual evidence presented to the jury and the noted that enforcing copyright protection on the API would amount to stifling creativity of software programmers, weighing toward fair use. The Court held that Google’s copying of Oracle’s declaring code was a fair use, reversing the Federal Circuit’s decision of copyright infringement.
Dissent
The dissent took issue with the majority’s assumption that the code was copyrightable and would have found the copying not to be fair use. While the API library is functional, because the declaring code was incorporated with other code, the function relied on other protectable code. Moreover, because the nature of the declaring code is inherently copyrightable, Google’s Android platform destroyed Oracle’s possible licensing markets, and the copying did not transform Google’s platform from Oracle’s API, three of the four fair use factors favored Oracle instead.