When two tech titans clash in court, the outcome can reverberate widely. In what has been dubbed the “copyright lawsuit of the decade,” Oracle sued Google in 2010 for infringing its copyrights in 37 Java Application Programming Interface (API) packages used in Google’s Android software platform for mobile devices (as explained further below, API packages consist of pre-written computer programs that perform specified functions).
At the first trial in 2012, a jury found that Google infringed Oracle’s copyrights. The judge, however, concluded that the Java API packages were not copyrightable as a matter of law. In 2014, the Federal Circuit reversed and remanded for a second jury trial on Google’s fair use defense. Oracle Am., Inc. v. Google Inc., 750 F.3d 1339 (Fed. Cir. 2014). The Supreme Court denied Google’s cert petition.
In 2016, a second jury found in favor of Google on its fair use defense, and the trial court denied Oracle’s motion for judgment as a matter of law. In 2018, the Federal Circuit overturned the jury’s verdict, concluding that Google’s use of the 37 Java API packages was not fair use as a matter of law. Oracle Am., Inc. v. Google LLC, 886 F.3d 1179 (Fed. Cir. 2018).
On January 24, 2019, Google petitioned the Supreme Court for a writ of certiorari. It identified the issues presented as:
(i) whether copyright protection extends to a software interface; and
(ii) whether Google’s use of a software interface in the context of creating a new computer program constitutes fair use.
The Federal Circuit’s rulings sent shockwaves through the software industry, and fifteen parties—ranging from corporations like Microsoft to software-related associations, and intellectual property scholars—filed amicus briefs in support of Google’s petition. Microsoft warned that the Federal Circuit’s approach “threatens disastrous consequences for innovation” in the software industry by depriving third parties of access to and reuse of functional code used to “facilitate interoperability across myriad software platforms and hardware devices.” An association representing over 70,000 software developers worldwide asserted that the Federal Circuit’s conclusions had spawned confusion concerning whether longstanding practices such as sharing libraries of common software functions constitute copyright infringement. Likewise, Professor Peter S. Menell and Professor David Nimmer (the editor of Nimmer on Copyright) maintained that the Federal Circuit had “upended nearly three decades of sound, well-settled, and critically important decisions of multiple regional circuits on the scope of copyright protection for computer software.”
On March 27, 2019, Oracle filed its opposition to the petition. The tech giant identified the issues as:
(i) Whether the Copyright Act protects Oracle’s computer source code that Google concedes was original and creative, and that Oracle could have written in any number of ways to perform the same function?
(ii) Whether the Federal Circuit correctly held that it is not fair use as a matter of law for Google to copy Oracle’s code into a competing commercial platform for the purpose of appealing to Oracle’s fanbase, where Google could have written its own software platform without copying, and Google’s copying substantially harmed the actual and potential markets for Oracle’s copyrighted works?
After Google filed its reply, the Supreme Court invited the Solicitor General to file a brief expressing the views of the United States. This is where the case presently stands.
The Java Programming Language
Oracle’s predecessor, Sun Microsystems, Inc. (“Sun”) developed the Java programming language to allow programmers to write programs that run on different types of computing devices without having to rewrite the programs from scratch for each type of device. To that end, Java’s motto is “write once, run anywhere.”
To provide programmers with shortcuts for executing specific functions, Sun created the Java API, which consists of packages (akin to a bookshelf in a library), classes (akin to books on the shelves), and methods (akin to “how-to” chapters in each book). See Oracle Am., Inc. v. Google Inc., 872 F. Supp. 2d 974, 977 (N.D. Cal. 2012), rev’d and remanded, 750 F.3d 1339 (Fed. Cir. 2014).
Each method performs a specific programming function (for example, choosing between the greater of two integers). The key components of a method are: the “declaring code” that defines the package, class and method names, form of inputs and outputs, and the “implementing code” that provides instructions to the computer concerning how to carry out the declared function using the relevant inputs.
Google began negotiating with Sun in 2005 to license and adapt Java for its emerging Android software platform for mobile devices. After those negotiations failed, Google decided to use Java anyway, and copied verbatim the declaring code in 37 Java API packages (consisting of 11,500 lines of code), as well as the structure and organization of the packages (referred to as the SSO). However, Google wrote its own implementing code for the relevant methods.
In 2007, Google began licensing the Android platform free of charge to smartphone manufacturers. It earned revenue—$42 billion from 2007 through 2016—from advertising on the phones. In 2010, Oracle acquired Sun, and promptly sued Google for infringement.
The Copyright Question
In 2014, the Federal Circuit reversed the lower court’s ruling that the declaring code and SSO were not entitled to copyright protection. Importantly, while the Federal Circuit only has jurisdiction over patent-related matters, it handled the appeal because Oracle’s complaint had also included patent claims (which the jury rejected). The Federal Circuit, however, applied Ninth Circuit law to the copyright questions presented.
The Federal Circuit began by noting that “copyright protection extends only to the expression of an idea—not to the underlying idea itself.” Moreover, to the extent the particular form of expression is necessary to the use of the idea, then using the expression to that extent is not copyright infringement. This is known as the “merger doctrine” which states that if there are a limited number of ways to express an idea, the idea is said to “merge” with its expression—and the expression becomes unprotected. Further, the “scenes a faire doctrine,” bars certain standard, stock, or common expressions from copyright protection.
Thus, to use a simple example, while a book on arithmetic can be copyrighted, the idea of adding, subtracting, multiplying, and dividing cannot be. Moreover, if using symbols like “+” and “x” are necessary or commonly used to express the concepts of adding and multiplying, those expressions are not copyrightable.
Applying these principles, the Federal Circuit first observed that copyright protection extends to expressive elements of a computer program. It then rejected Google’s argument that Oracle’s expression merged with unprotectable ideas, noting that Oracle had unlimited options as to the selection and arrangement of the declaring code that Google copied. The Federal Circuit also rejected Google’s reliance on the scenes a faire doctrine. Because at the time the code was written, its composition was not dictated by external factors like “mechanical specifications of the computer” or “widely accepted programming practices within the computer industry.”
The Fair Use Question
After determining that Oracle’s declaring code and SSO were subject to copyright protection, the Federal Circuit remanded for a jury trial on Google’s fair use defense. As noted, the jury found that Google had established the defense, but the Federal Circuit overturned that verdict.
The fair use defense is a judge-made doctrine that has been incorporated into the federal copyright statute as Section 107, which provides that “the fair use of a copyrighted work…for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright.” To determine whether particular copying constitutes fair use, the statute identifies the following factors as:
(1) “The purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes.”
(2) “The nature of the copyrighted work.”
(3) “The amount and substantiality of the portion used in relation to the copyrighted work as a whole.”
(4) “The effect of the use upon the potential market for or value of the copyrighted work.”
The Federal Circuit ultimately concluded that because Google’s copying was for a highly commercial purpose, was not qualitatively insignificant, and substantially harmed Oracle’s own licensing efforts; the copying was not fair use as a matter of law, notwithstanding the jury’s verdict to the contrary.
Because APIs are key to broad acceptance of standardized software functions, IMS computer and software expert Dr. John Levy believes that were the Supreme Court to affirm the Federal Court’s ruling, it may severely limit the spread of useful API’s to important code bases. As an example, Dr. Levy notes that a small company will usually want to make its declaring code available to all users and developers, so that the underlying application code will get the broadest possible use and market share. The developer counts on having a competitive set of implementing code to make money.
According to Dr. Levy, the Federal Circuit may have been influenced by the fact that Google made so much money using the copied declaring code. But as evidenced by the large number of amicus briefs, the broader software industry cares more about defending a broad reading of “fair use” than assessing damages against companies who make money from copied declaring code.
Dr. Levy sees the issues in the Oracle case as similar to those in a case he worked on as an expert back in the 80386 chip days. In that case, Intel owned the instruction set of the 386 chip. But because Intel customers didn’t want to be limited to a single source for these Intel-compatible processors, Intel licensed the instruction set to other chip manufacturers.
“One licensee produced chips that performed the Intel-owned instruction set. Intel sued that licensee for copyright infringement of the underlying microcode (the implementation of the instruction set in the chip designed by the licensee company),” recalled Dr. Levy.
A federal court ruled that the microcode (firmware) was indeed copyrightable, but that there was no infringement under the “limited expression” doctrine explained above. There simply were not many ways to implement the licensed instructions in microcode, and therefore the licensee’s implementation did not infringe Intel’s own implementation. In the Oracle case, however, the Federal Circuit concluded that there were many ways for a programmer to select and arrange the declaring code that Google copied.