Court finds that Google's re-use of code from Oracle's Java API constitutes fair use under the Copyright Act
On April 5, 2021, the U.S. Supreme Court released its decision in Google LLC v. Oracle America, Inc.,1 a long-awaited case addressing the boundaries of the copyright fair use defense as it applies to computer code. This is the first time the Court has addressed fair use in 28 years. It issued a resounding opinion in favor of innovation that dramatically changes how courts will analyze fair use with respect to computer software going forward.
By a 6-2 vote, the Court sided with Google, finding that its use of 11,500 lines of declaring code from Oracle's Java Application Programming Interface (API) to enable coding in the Java programming language for the Android operating system constituted fair use and did not violate the copyright law. The Court concluded that "where Google reimplemented a user interface, taking only what was needed to allow users to put their accrued talents to work in a new and transformative program, Google's copying … was fair use."
Several aspects of the Court's holding stand out: First, it ruled that fair use is a mixed question of law and fact such that the ultimate determination of fair use is a question of law that an appellate court can review de novo. Second, it placed strong emphasis on the nature of the copyrighted work, a factor in the fair use analysis that courts previously gave short shrift. Third, it recognized that copying to enable compatibility across operating systems can be a legitimate purpose in the fair use analysis.
Background of the Case
The facts of the case date back to 2005, when Google began to develop Android OS for mobile phones. At the time, many software programmers understood and wrote programs using Sun Microsystems' Java programming language. Google wanted those programmers to be able to use their pre-existing Java programming skills to develop programs for its new Android platform.
To facilitate that, Google copied 11,500 lines of declaring code directly from the Java API—that is, roughly 1 percent of the total codebase. "Declaring code" is code that provides a name for each function and the location of the function within the overall API.2 Had Google changed the declaring code when building the Android platform, developers would not have been able to use the Java programming language to create programs for Android.
In 2010, after Oracle acquired Sun Microsystems, it sued Google for copyright infringement based on Google's use of the declaring code. The case had a complex history in the lower courts. After a first jury trial at the district court, the district court found as a matter of law that the declaring code from Java that Google used was not copyrightable. The Federal Circuit reversed that decision and sent the case back down to the district court to determine whether Google's copying constituted a fair use.
After a second trial, a jury found that Google's copying of the declaring code constituted a fair use under the Copyright Act. On appeal, the Federal Circuit again reversed, holding that the determination of fair use is a question of law subject to de novo review, and concluding that Google's copying of the code did not constitute fair use as a matter of law.
The Supreme Court granted Google's cert petition on both the copyrightability and fair use issues.
Supreme Court Decides Google's Re-use of the Declaring Code Constitutes Fair Use Under the Copyright Act
In its decision last week, the Supreme Court opted not to pass upon the complicated question of whether the declaring code that Google copied is copyrightable. Its opinion assumed for purposes of argument that it was. The Court then proceeded to address Google's fair use defense.
The Court first affirmed the Federal Circuit's holding that fair use is a mixed question of law and fact. Next, the Court analyzed Google's use of the declaring code under the four fair use factors set forth in the Copyright Act, finding that each factor favored fair use:
- The Nature of the Copyrighted Work: That the Court began its consideration with this factor is, by itself, a significant shift, given that lower courts rarely address the factor in much depth in most fair use cases. The Court held that declaring code differs from many other kinds of copyrightable computer code because it is "inherently bound together with uncopyrightable ideas (general task division and organization) and new creative expression (Android's implementing code)." Moreover, the Court recognized the value of declaring code comes from the fact that computer programmers had invested their time learning the Java programming language. Thus, according to the Court, the declaring code lay "further than … most computer programs from the core of copyright." As a result, the Court held, the nature of the work favored fair use.
- The Purpose and Character of the Use: The Court concluded that Google's use of the declaring code to help support its new platform was a "transformative" use of the code that favored a finding of fair use. As it explained, Google's "reimplementation" of the Java API in a new system that, by virtue of its use of the same words and syntaxes "could be readily used by programmers … was consistent with that creative 'progress' that is the basic constitutional objective of copyright itself."
- The Amount and Substantiality of the Portion Used: Google copied 11,500 out of 2.86 million lines of code in the Java API. The Court found that this factor favored fair use because Google's copying was "tethered" to its valid and transformative purpose "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," one that permitted "programmers to make use of their knowledge and experience using the Sun Java API when they wrote new programs for smartphones with the Android platform."
- The Effect of the Use Upon the Potential Market for or Value of the Copyrighted Work: The evidence at trial showed that Oracle was poorly positioned to succeed in the smartphone market. Moreover, the evidence showed that Google copied the declaring code not because of its superior functionality, but because programmers already knew how to work with it. The Court credited the testimony that allowing copyright enforcement would limit programmers' ability to creatively use tools they have already learned to make new programs, which would "interfere with, not further, copyright's basic creativity objectives."
Fair use is a fact-intensive defense and is decided on a case-by-case basis. However, because the Supreme Court has confirmed that the ultimate determination of fair use is a question of law, fair use may be decided even more often at summary judgment or even earlier in the life cycle of a case, without requiring a jury trial.
Moreover, this decision will shift how future courts analyze fair use in the context of copyrighted software. In light of this decision, courts are now more likely to focus a fair use inquiry on:
- whether copied code is more akin to declaring or implementing code;
- whether code was copied for use in a new market or for a new purpose; or
- whether the purpose of the copying is consistent with promoting the Copyright Act's ultimate goal of fostering creativity.3
Perhaps most importantly, this ruling affirms that copyright law should not be wielded as a means of locking in software developers to a particular platform and precluding them from creating new platforms and programs based on their familiarity with existing ones.
Wilson Sonsini Goodrich & Rosati regularly advises clients on copyright issues related to APIs and computer software, helps companies adopt licensing and other policies to mitigate their litigation risk, and represents them in copyright litigation. For more information, please contact a member of the firm's technology transactions or IP litigation practice.
 No. 18-956, 592 U.S. ___ (2021).
 Declaring code is distinguished from implementing code, the code that actually implements a function or task. If, for example, the task is to sort a list of numbers, the implementing code would take as inputs the numbers to be sorted, analyze the numbers, and return as output a sorted list of numbers. Declaring code, by contrast, names the functions and tells a computer where to find the implementing code. In the case of Android OS, Google wrote all of its own implementing code. Further, it copied only a very small portion of the declaring code—that which was essential to enabling developers to call functions and program in the Java language for Google’s Android system.
 We do not expect this decision to have a major impact on software developers’ ability to protect proprietary implementing code. Such code not only will enjoy greater copyright protection, but developers may also still use various agreements to limit its use.