On April 5, 2021, the United States Supreme Court handed down a decision that could have profound implications in the software industry. It held 6-2 that Google’s copying of 11,500 lines of code from Oracle’s Java SE API in Google’s Android platform was a fair and transformative use
The Court pushed the boundaries of the “transformative” test beyond determining whether the use is different than the copyright holder’s intended use, handing Google a major legal victory in a case with extremely high stakes.
When Google designed its Android platform, it made it free to developers to allow them to build applications for smartphones that, in the words of the Court, “make the phone better.”
Google wanted millions of programmers already familiar with the popular Java programming language to be able interact easily with the Android platform. So Google included a user interface – called an API -- through which programmers could run common computer programs via a series of menu commands. Google knew that programmers were familiar with the commands, or “method calls,” in Sun’s Java SE API (later acquired by Oracle) that directed the computer to perform those common tasks, so Google sought to mimic that same instruction set.
For example, when a programmer wanted to compare two integers in order to determine which one was greater, the programmer would type “java.lang.Math.max”, a method call that would instruct the computer to find the program elsewhere in the API that would perform that operation. This shorthand and others like it saved programmers from having to re-program thousands of common tasks by the simple use of Java SE API commands with which they were already familiar.
While Google wrote its own code for the programs that actually performed the operations – known as the implementing code – it copied from Oracle the 11,500 lines of code that enabled programmers to use that structured instruction set, analogized by the Court to a filing system (known as the declaring code). Notably, Google had tried four times to license the declaring code from Google, but negotiations fell apart and Google copied it anyway.
There were two questions before the Court: i) whether Oracle’s Java API was copyrightable in view of a statutory provision that permits copyrighting of computer programs and another that forbids copyrighting “processes” and “methods of operations”; and ii) whether, assuming copyrightability, Google’s use was a “fair use.” Because the Court found for Google on fair use, and this finding was sufficient to resolve the case in Google’s favor, the majority did not address copyrightability.
A jury had previously found that Google’s copying was fair use, but the Court of Appeals for the Federal Circuit overturned that finding, ruling that fair use was ultimately a legal question for judges to review de novo. Although the Supreme Court agreed with the standard of review for fair use, the Court reversed Federal Circuit’s legal conclusion on the merits.
In arriving at its decision, the Court analyzed the four statutory fair use factors in 17 U.S.C. § 107: i) the nature of the copyrighted work; ii) the purpose and character of the use; iii) the amount and substantiality of the portion used; and iv) market effects.
With respect to the first factor, the Court acknowledged that the declaring code is part of a computer program, which has been expressly accorded protection under the Copyright Act. Declaring code, however, is “inextricably bound up” with non-copyrightable ideas such as “the division of computing tasks,” “organizing tasks into what we have called cabinets, drawers and files,” and specific commands with which programmers were familiar like “java.lang.Math.max.” By contrast, copyrightable implementing code – which Google did not copy – requires a great deal of creativity to develop for use “not in laptops or desktops but in the very different context of smartphones.” Thus, unlike implementing code, the Court stated that the declaring code is “further than most programs from the core of copyright” because its value derives not from its creativity but from the fact that it encourages programmers to learn the system so that they will use Oracle implementing programs.
Turning to the purpose and character of the use, the Court found that Google’s copying of the declaring code was “transformative” even though Google used the code for the very same purpose that Sun developed it – to enable programmers to call up specific functions in the implementing code. Google’s use of the declaring code in the Sun Java API to “create a new platform that could be readily used by programmers [for smartphones] ... was consistent with the constitutional objective of copyright itself … ‘[t]o promote the Progress of Science and the useful Arts’ (quoting U.S. Const., Art. I, § 8, cl. 8).” The Court stressed that while Sun had created the API for desktop and laptop computers, Google “reimplemented” it for smartphone programs “only insofar as needed to allow programmers to call upon those tasks without discarding a portion of a familiar programming language and learning a new one.” Thus, Google used the Sun Java API code in a transformative way to enable programmers already familiar with it to develop programs for smartphones using the new Android platform.
With respect to the amount and substantiality of the portion used, the Court stressed that Google used only 11,500 lines of code out of 2.86 million, which amounted to 0.4%, and that the majority of the Android code was implementing code that Google rewrote. The declaring code should not be viewed in isolation, according to the Court, because Google’s objective was to permit programmers familiar with the Sun Java API instruction set and to write new programs for smartphones on the Android platform. And if developers would have been forced to learn a new command syntax, they would not have been as willing to develop new programs for the smartphone platform, which would have been inconsistent with the constitutional objective of copyright law. “In a sense, the declaring code was the key that [Google] needed to unlock the programmers’ creative energy.” Thus, the Court found for Google on the substantiality factor as well.
Addressing the market effect factor, the Court stated that potential loss of revenue “is not the whole story.” It noted that a “lethal parody, like a scathing theater review, ‘may kill demand for the original,” quoting from Campbell v. Acuff-Rose Music, 510 U.S. 569 at 591-92 (1994), “yet this kind of harm, even if directly translated into foregone dollars . . . is not cognizable under the Copyright Act.” The Court also referred to evidence that Sun was not well positioned to succeed in the smartphone marketplace, and that they had tried and failed to do so. It highlighted the fact that Google’s Android operated on more sophisticated devices like smartphones whereas Java SE was used on the Kindle and on simpler phones that lacked a touchscreen, so Android was not a market substitute for Java SE. The Court referred to expert testimony that Android would benefit Oracle because it would encourage more programmers to learn Java, causing them to bring their talents to using Java to programming for laptop and desktops. Finally, the Court stated that in view of programmers’ strong familiarity with the Sun Java API, enforcing Oracle’s copyright “would risk harm to the public” and would make the Sun declaring code “a lock limiting the future creativity of new programs” to which “Oracle alone would hold the key.” For these reasons, the Court found in favor of Google on the market effects factor as well.
In sum, the Court held, Google’s copying of the declaring code – which it called “reimplent[ing] a user interface” -- was fair use because it allowed programmers to employ their familiarity with that the Java SE interface to Android, which was “a new and transformative program.”
Justice Thomas, who was joined by Justice Alito, dissented. He found that the majority’s distinction between the declaring code and the implementing code was artificial, pointing out that nowhere does the Copyright Act, which expressly grants copyright protection to computer programs, make such a distinction. He argued that the majority’s failure to analyze copyrightability led it to a result that was not justified by the Act, and the fact that the code is bound together with uncopyrightable ideas should not disqualify it from protection. “Books are inherently bound with uncopyrightable ideas – the use of chapters, having a plot, or including a dialogue or footnotes. This does not place books far ‘from the core of copyright.’” Further, the fact that third parties such as programmers invested lots of time in learning the Java SE commands should make no difference to copyrightability: “[A] theater cannot copy of script – the right to which are held by a smaller theater – simply because it wants to entice actors to switch theaters and because copying the script is more efficient than requiring the actors to learn a new one.” Justice Thomas also disagreed vehemently with the majority’s finding on market effects, stating that the fact Oracle had not itself entered the smartphone marketplace did not mean that it could not have licensed others such as Google to do so. He pointed out that Oracle was significantly harmed as a result of Google’s not having paid for a license, as third parties “no longer saw much reason to pay to embed the Java platform.” That included companies who had previously licensed Java SE, including Amazon, who was able to negotiate a 97.5% discount in its license fee from Oracle, and Samsung, whose contract with Oracle dropped from $40 million to $1 million after Google’s copying.
This decision sets an important and unique precedent in the realm of fair use. Based on this decision, use of copyrighted software can be “transformative” even if it is offered for a purpose that is the same as the author’s intended use. Copying software for its intended purpose may be deemed fair if it encourages further creativity in line with the constitutional goal of copyright law to promote the progress of science and the useful arts. Here, Google’s copying of 11,500 lines of declaring code was found to be transformative because Google “reimplemented” the Java SE interface in Android, thus encouraging those already familiar with the Java SE interface for laptops and desktops to use the same interface in Android to develop smartphone programs.