Description
The high-profile dispute between Oracle and Google has been described as the “most notable case in copyright,” and the “World Series of IP cases.”91 The protracted conflict traces back to Oracle’s acquisition of Sun Microsystems after the demise of Sun’s hardware business. Oracle, founded in 1977, rose to prominence in Silicon Valley thanks to its flagship database business. Unlike Sun, Oracle has followed the path of Apple by favoring proprietary technologies over open source ones.
Sun had developed the programming language or platform called Java, hoping that it would become the standard language employed by programmers for website development and applications. In 1995, Sun introduced the Java platform, which allows a user to run the same Java application on many different kinds of computers. Java applications can be delivered over the internet to computers running different operating systems (for example, Windows, Macintosh, or Unix). Since its introduction in 1995 Java grew in popularity thanks to this portability or cross-platform functionality. Almost immediately, Netscape adopted Java for its Navigator browser.
The Java technology has several components that contribute to its superior functionality. It encompasses a programming language; a group of programs written in that language called the “Java class libraries” that expose their own Application Programming Interfaces (APIs); a compiler that translates the code written by a programmer into “bytecode”; and, finally, the Virtual Java Machine (JVM) that translates bytecode into instructions for the operating system. Applications that use the Java APIs will run on any systems with a Java Runtime Environment (JRE), that is, the Java class libraries and a JVM.
While the Java programming language is essentially free to use under the open source terms of a general public license, the Java platform or Java SE requires a license. Java SE allows the code written in the Java programming language to run on a variety of different operating systems using the Java Virtual Machine (JVM). Java SE also includes the Java APIs. The APIs, which consist of standardized, prewritten “methods” or blocks of code to handle basic programming functions, work as software interfaces. They allow programs, websites, or apps to communicate with one another. For example, the APIs allow an operating system like Android to download a website or open and run a particular app. Java developers would be unable to create new programs for platforms like Android without relying on these software interfaces.
The pivotal question in this case is whether these APIs or software interfaces are copyrightable. According to the U.S. copyright law, copyright protection does not extend to “any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such [original] work.”93 Do these restrictions apply to software interface or APIs which serve as the means of interoperability for information technologies, and have been often characterized as “methods of operation,” because of their functional purpose? The Supreme Court sought to resolve a closely related question in the Lotus v. Borland case but deadlocked in a 4–4 vote. At issue was copyright protection for the menu command hierarchy (e.g., a sequence of commands such as Paste–Cut– Copy). In the absence of a definitive Supreme Court Ruling the First and Sixth federal circuit courts ruled that copyright law excludes protection for all methods of operation, including those embedded into software interfaces. The first person to write a program cannot “lock up” basic or standard programming techniques and methods of operation such as a command hierarchy. The Third Circuit has taken the opposite position, ruling that a method of operation embodied in a software interface is copyrightable so long as it could have been written differently.
Java and Google’s Android Operating System
Google, the search engine giant, developed an open-source platform or operating system for mobile devices. The product was called Android, and it was released to the public in 2007. Many companies such as Sam- sung, Xiaomi, Nokia, and HTC use the Android operating system for their smartphones. Apple, on the other hand, uses its own proprietary operating system (OS) known as the iMac. Although Google executives did not intend to directly monetize Android, it was designed to become a vehicle for promoting its search functionality and other applications. The company’s goal was to produce and distribute “the world’s first open source handset solution with built-in Google applications.”
Java was vital to the success of this open source project for a number of reasons. The company had to move fast because competitors were working on their own proprietary systems. Therefore it was not feasible to write all the code from scratch. Also, there was already an “existing pool” of developers and applications. Java therefore, meant “a safe sandbox for third party developers.
There were extensive negotiations with Sun about the use of Java for Android, but Google found the company’s licensing terms to be too restrictive. Negotiations broke down, but Google’s commitment to Java was undeterred. Using the Java language was not a problem since it was an open source product that Sun had released to the public. Google also planned to develop and code its own virtual machine (called “Davlik”). But copyright issues arose because the Android team wanted to use 37 Java API packages from the Java Standard Edition (SE). Each of the API packages uses two types of source code: declaration code and implementation code. The Android developers used the declaration code of the APIs, analogous to chapter headings and titles, but wrote their own implementation code. These declarations represent the “header line of code” that introduces the “methods” or blocks of code that perform functions such as mathematical calculations or the display of simple graphics. The Java API declarations inform developers how to access these prewritten methods that perform the tasks which are executed by the implementation code. One of the API packages implemented in Android was java.security, which provides the classes and interfaces for the product’s security framework and allows an app’s security commands to function.
Despite its disapproval, Sun did not challenge Google and it did not file a copyright or patent infringement law suit. But Oracle’s acquisition of Sun in 2010 changed everything. Oracle CEO Larry Ellison regarded Java as “the single most important software asset we have ever acquired.”98 Moreover, Oracle was prepared to take legal action over Google’s use of these 37 API libraries of coding blocks without a license, since it perceived this action as a blatant infringement of its copyright. The company sued Google for copyright infringement and sought $9 billion in damages. In its lawsuit, Oracle claimed that Google had illegally copied Java source code along with the structure and organization of Java class libraries to develop its Android OS
Legal History and Arguments
Specifically, Oracle alleged that Google directly copied 7,000 lines of declaring code and generally replicated without permission the structure, sequence, and organization of 37 Java API packages. Oracle conceded that the implementation code was different and the Davlik virtual machine was not an issue. The central question before the court would be whether these components of the Java platform were entitled to copyright protection. And if they were subject to such protection did Google’s use of this material constitute a form of fair use under current copyright law.100 According to Oracle, while no single name was copyrightable, “Java’s overall system of organized names – covering 37 packages, with over 600 classes, with over 6,000 methods – is a ‘taxonomy’ and, therefore, copyrightable.”101 In its defense Google insisted that Sun had freely licensed the Java programming language and encouraged the use of Java APIs by developers. Google also argued that it independently implemented the functions of the 37 API packages at issue and that its use of 7,000 lines of declaring code was a small part of Android’s 15 million lines of source code. For example, a declaration might call for something to be displayed and the associated implementation code would display the output on the screen of a smartphone or other mobile device. The reuse of these Java software interface declarations in Android was necessary so that developers could program Android applications in the open Java language.102
The first trial took place in 2012 in the U.S. District Court for the Northern District of California. The jury was deadlocked on the fair use issue. But Judge Alsop generally rejected Oracle’s arguments. He ruled that Google’s use of the Java APIs constituted fair use because an API is a “method of operation.” He also ruled that the 37 API packages were not subject to copyright protection. The declaring code was not that Android was not a substitute or direct copy of Java SE but an innovative software platform. Oracle’s attorneys, on the other hand, relied on a simple moral theme: “You don’t take other people’s property without permission and use it for your own benefit,” and you don’t take “shortcuts” at other people’s expense and come up with the “fair use excuse.” The jury seemed unpersuaded by that moral argument. It found that this was a case of fair use and exonerated Google. However, in March 2018, the Federal Circuit Court of Appeals overturned the verdict and ruled that Google’s use of the APIs wasn’t “fair.” According to the Court of Appeals, “There is nothing fair about taking a copyrighted work verbatim and using it for the same purpose and function as the original in a competing platform.”108 But, despite this ruling, the extended battle between Google and Oracle has continued. In 2019, Google filed a petition with the U.S. Supreme Court asking its members to review the Circuit Court’s decision. protectable since “names and short phrases cannot be copyrighted.” As a result, the Court entered its final judgment in favor of Google
In 2013, Oracle appealed Judge Alsop’s ruling to the U.S. Court of Appeals for the Federal Circuit. The case was now attracting widespread attention with major software companies siding with Oracle, but independent application developers siding with Google. Libertarian groups such as the Electronic Frontier Foundation (EFF) were also aligned with Google. In its legal brief laying out the rationale for its appeal, Oracle’s attorneys employed a literary analogy to help convince the jurists of the validity of their claims:
Ann Droid wants to publish a best seller. So she sits down with an advance copy of Harry Potter and the Order of Phoenix – the fifth book – and proceeds to transcribe. She verbatim copies the chapter titles – from Chapter 1 (Dudley Demented) to Chapter 38 (The Second War Begins). She copies verbatim the topic sentences of each paragraph starting from the first (highly descriptive) one and continuing, in order, to the last, simple one (“Harry nodded”). She then paraphrases the rest of each paragraph. She rushes the competing version to press before the original under the title: Ann Droid’s Harry Potter 5.0. The knockoff flies off the shelves. J.K. Rowling sues for copyright infringement. Ann’s defenses: “But I wrote most of the words from scratch. Besides, this was fair use, because I copied only portions necessary to tap into the Harry Potter fan base.” Obviously, the defenses would fail.
Thus, Oracle’s approach was based on a comparison of the creativity in the design and coding of computer software with the copyrightable creativity of a literary work.
But in their rebuttal Google’s attorneys resorted to familiar arguments about the nature of software. They argued that software interfaces are not like literary or artistic works because they “perform functions that are not entitled to copyright protection.
In May 2014, the Federal Appeals Court hearing the case reversed the District Court’s 2012 decision. It ruled that the structure, organization, and sequence of the APIs was copyrightable and remanded the case back to the district court for a retrial on the basis of whether Google’s use of the material constituted fair use. According to the Court, “because Oracle exercised creativity in the selection and arrangement of the method declarations when it created the API packages and wrote the relevant declaring code, they contain protectable expression that is entitled to copyright protection.”106 In 2016, Judge Alsop conducted the retrial that dwelt on the issue of fair use of the copyrightable declaring code by Google. In closing arguments at the trial Google attorneys emphasized Android’s “transformative purpose,” reminding the Court that Android was not a substitute or direct copy of Java SE but an innovative software platform. Oracle’s attorneys, on the other hand, relied on a simple moral theme: “You don’t take other people’s property without permission and use it for your own benefit,” and you don’t take “shortcuts” at other people’s expense and come up with the “fair use excuse.” The jury seemed unpersuaded by that moral argument. It found that this was a case of fair use and exonerated Google.
However, in March 2018, the Federal Circuit Court of Appeals overturned the verdict and ruled that Google’s use of the APIs wasn’t “fair.” According to the Court of Appeals, “There is nothing fair about taking a copyrighted work verbatim and using it for the same purpose and function as the original in a competing platform.” But, despite this ruling, the extended battle between Google and Oracle has continued. In 2019, Google filed a petition with the U.S. Supreme Court asking its members to review the Circuit Court’s decision.
Question:
What is your opinion on the court decisions so far regarding this legal dispute? What are your thoughts about the literary analogy that Oracle’s attorneys used in their appeal to the court? Do you agree? Why? Why not?