Updated: Jun 3, 2021
After more than a decade of litigation, the epic battle over the Java API has come to an end with an April 2021 ruling by the United States Supreme Court that Google’s use of the declaring code in the Java API was fair use. Read on to learn more about the decision and what it means for the software industry.
The Java API and Declaring Code
An API or “Application Programming Interface” is a tool that allows programmers to manipulate, control, and interface with computer programs. The Java API was written by Sun Microsystems (later purchased by Oracle) to develop software for desktop and laptop computers. In 2005, Google acquired Android and sought to build a new mobile operating system for mobile devices like smartphones. At first, Google sought to license Java from Sun. When license negotiations failed, Google wrote its own version of the Java implementing code, but copied the declaring function names, organization, and functionality. Software developers use the Java declaring code to program in the Java language. The declaring code allows programmers to use method calls to invoke implementing code, re-written by
Google to instruct the computer to implement the associated tasks.
Oracle sued Google in 2010. A jury found Google infringed Oracle’s copyright, but deadlocked on the question of fair use. After trial, the district court nevertheless found the API an unprotectable “system or method of operation.” That ruling was reversed by the Federal Circuit, which remanded the case for a new trial on fair use. The jury found fair use this time, but the Federal Circuit reversed again, finding no fair use. The Supreme Court granted Google’s petition for certiorari on whether the Java API is copyrightable and whether Google’s use was fair use.
The Supreme Court Decision
In a 6-2 decision written by Justice Breyer, the Court assumed the Java API was copyrightable and found Google did not infringe because the use was permissible fair use.
Fair use is an affirmative defense to copyright infringement that allows use of a copyrighted work in certain situations. Initially created by the courts, the fair use doctrine was codified in Section 107 of the Copyright Act (17 U.S.C. § 107). The statute calls for balancing four non-exclusive factors: (1) the purpose and character of the use; (2) the nature of the copyrighted work; (3) the amount or substantiality of the portion used; (4) the effect of the use on the potential market for or value of the work. The Court found all four fair use factors weigh in favor of Google.
The Court began with factor two, the nature of the copyrighted work, and found it weighed in favor of fair use. The Court noted that declaring code is different from many other types of code, since it is inextricably bound together with the division and organization of the computing tasks. Noting that the value of the declaring code is that programmers who are familiar with it can use Java to program in various settings, the Court concluded that “the declaring code is, if copyrightable at all, further than are most computer programs (such as the implementing code) from the core of copyright.” Although the Court expressly assumed the Java API was copyrightable, it relied heavily on the functional nature of the declaring code to support its finding of fair use.
The Court found that factor one, the purpose and character of the use, supported fair use because Google only copied portions of the code necessary to create software for a new medium. The Court reasoned that using the copied portions from Oracle’s code to create a new platform was “transformative,” an important consideration that frequently tips to bar in fair use cases.
The Court found the third factor, the amount or substantiality of the portion used, similarly weighed in favor of fair use because it viewed the copied 11,500 lines of declaring code against the entire 2.86 million lines of the Oracle’s Java codebase. In light of the entire work, Google’s copying amounted to only 0.4 percent of the work, consisting of neither a substantial portion nor the “heart” of the work.
Lastly, the Court found the fourth factor, the effect of the use on the potential market for or value of the work, weighed in favor of fair use because Google’s use of the declaring functions in the Android mobile operating system was not a market substitute for Oracle’s Java computer programing software used for desktop and laptop PCs. The Court further noted that Oracle was unsuccessful in attempts to bring Oracle Java to the smartphone market. Finally, the Court reasoned that due to the broad use of the Oracle Java API and the investment of programmers generally into learning and using Java, enforcing copyright protection would limit future creativity of new programs and interfere with copyright’s basic objective to spur creative progress.
The dissent, written by Justice Thomas and joined by Justice Alito, found the majority decision to be inconsistent with the Court’s prior jurisprudence, highlighting both that Google’s Java API is not transformative where it “simply serves the same purpose in a new context” and accused the majority of conflating clear derivative use with transformation. The dissent concluded that Oracle’s Java API is copyrightable, and Google’s use was not fair, instead Google’s use was merely derivative and ultimately ruined Oracle’s potential market in Java. The dissent claimed that under the majority’s logic “simply because he can use [Microsoft Word] to create new manuscripts,” pirating would be permitted, and such a rule “eviscerates copyright.”
The majority finding of fair use continues a line of cases allowing so-called “reimplementation” of a program in a new environment, notwithstanding the harm to the original developer. For example, in Sega Enters. Ltd. v. Accolade, Inc., the Ninth Circuit court found no infringement where Accolade reverse-engineered Sega’s game console and associated game cartridges code so that Accolade’s game cartridges would be compatible with Sega’s console. Similarly, in Sony Computer Entm’t, Inc. v. Connectix Corp., the Ninth Circuit found no infringement where Connectix reverse-engineered Sony’s copyrighted and not publicly published BIOS in the PlayStation console to create a “Virtual Game Station.”
Deciding when the public benefits of allowing a new use outweigh the Copyright Act’s grant of exclusive rights as an incentive for developing new works is a difficult task. Here, the Court clearly perceived the societal benefits of enabling programmers to learn once and write anywhere outweighed the value of Oracle’s API. As the majority put it, “copyright ‘should not grant anyone more economic power than is necessary to achieve the incentive to create.’”
That said, the Court could have reached the same outcome without emphasizing that the differences between source code and other types of literary works “led Congress to think long and hard” about whether computer programs should be protected by copyright or describing copyright as a “tax on readers for the purpose of giving a bounty to writers.”
The Supreme Court may have intended its decision to be limited to declaring code in APIs, but its decision will inevitably be relied on by litigants and courts in all fair use cases, especially source code. Whether it shifts the balance towards increased findings of fair use remains to be seen.