Oracle v. Google and the Brain Teaser of API Copyright Protection

Since the beginning of the digital revolution, copyright law has had to adapt to the advent of new technologies and their impact on the world of creation. Software protection, mainly, raised a lot of issues that still fuel the judicial debate. Indeed, while it is well established that software can be copyrighted as literary works, the extent of the protection keeps on raising questions.

In early cases, courts recognized the copyrightability of original source code and object code, literal elements of the software. The protection was then extended to non-literal elements of computer programs (sequences, structure, organization, user interface…), provided they passed the abstraction-filtration-comparison test which distinguished process from expression in software. But despite these decisions, difficulties remain in the realm of copyright software protection. The main concern of these past few years in the programming community rests on the copyrightability of application programing interfaces (APIs), which can be defined as a “set of core libraries that facilitate the development of applications […] by providing basic system or language functionalities”[1]. APIs give developers a set of ready-to-use functions to avoid them coding existing features several times over, and make programs more compatible with different platforms. As such, they play a crucial role in software development and are necessary to interoperability.

The issue of whether APIs are protected by copyright or not was raised by a lawsuit which arose in 2010 between two tech giants: Oracle Inc., and Google Inc. At that time, Oracle had just bought from Sun Microsystems Inc. the Java Platform, which enables software developers to write programs that are able to run on different types of computers architectures without having to rewrite them for each different type. With its new rights in hand, Oracle decided to sue Google which copied 7,000 lines of declaring code, the identifier that contains the name of each function, and generally replicated the overall structure, sequence, and organization from 37 Java API packages to develop its Android software. It thus reproduced both literal and non-literal elements of Oracle’s program. Google’s intent in doing so was to allow “programmers to write programs with a uniform way of calling on methods for Java and Android in an effort to promote interoperability and to further the public benefit”[2]. The company, however, wrote its own implementing code, the actual source code that defines the behavior of functions.

This lawsuit gave rise to a series of decisions and the Oracle v. Google saga is not over yet. On May, 31st, 2012, the district court for the Northern District of California gave a first decision, praised by the programming world, in favor of the free use of APIs. Regarding the declaring code, it relied on the merger doctrine and on the short phrases doctrine to hold that it was not copyrightable in this case. Regarding the overall structure, sequence and organization of the Java API packages, the court held that although it was creative, original and resembled a taxonomy, it was “nevertheless a command structure, a system or method of operation – a long hierarchy of over six thousand commands to carry out pre-assigned functions – that is not entitled to copyright protection”[3]. Thus, according to the district court, “the particular elements replicated by Google were free for all to use under the copyright act”[4]. But the case did not stop there, as the Federal Circuit, which did not take into consideration Google’s interoperability inquiries, reversed the district court decision and held that “the declaring code and the structure, sequence, and organization of the 37 Java API packages [were] entitled to copyright protection”[5].

According to the Federal Circuit, the district court misapplied the merger doctrine and erred in applying the short phrases doctrine to the declaring code, as the developer could have called the packages any number of things and as Oracle did not try to protect short individual lines of code but 7000 lines of declaring code, combination of elements that could be copyrighted if original. Besides, the Federal Circuit deemed the structure, sequence and organization of the API packages copyrightable as “although an element of a work may be characterized as a method of operation, that element may nevertheless contain expression that is eligible for copyright protection”[6]; the idea is that if a “computer program [was] uncopyrightable simply because it carries out preassigned functions”, no computer program would be protectable, which would contradict Congress’s express intent[7].

At that stage, Google petitioned for certiorari but the Supreme Court rejected its request. Instead, the case was remanded to the District Court for Northern District of California to determine whether the use made by google of protected APIs was permissible under the doctrine of fair use. On May, 26, 2016, the district court’s jury unanimously held in Google’s favor. But on appeal, the Federal Circuit, after analyzing the four fair use factors (the purpose and character of the use, the nature of the copyrighted work, the amount and substantiality of the portion used and the effect of the use on the potential market), found that even though a fair use defense could “be sustained in an action involving the copying of computer code”, “Google’s use of the 37 Java API packages was not fair as a matter of law[8]. This line of cases, which recognized copyrightability of APIs and led to the conclusion that Google’s behavior was not fair use, arguably conflicts with other circuit precedents which favored interoperability. It is widely criticized in the programming industry, as it creates a significant burden for the software development profession and could limit innovation in this area, which would contradict intellectual property protection’s aim. Indeed, “reuse of APIs is vital to enabling interoperability among distinct software programs [and] allows software programmers to more rapidly build upon the work of others in developing innovative new software”[9]. As the Electronic Frontier Foundation explains, “the freedom to reimplement and extend existing APIs has been crucial to competition and progress in both hardware and software. Simply put, excluding APIs from copyright has been essential to the development of modern computers and the Internet”[10]. The Federal Circuit’s decision in Oracle v. Google is thus in contradiction with the “computer industry’s long-accepted practice of re-using software interfaces, which provide sets of commands that make it easy to implement common functionality”[11]. It threatens not only the creation of future software but also preexisting programs, as many software developers had, like Google, reused other company’s APIs. To try to obtain a decision that would be more protective of innovation in the computer industry, Google just filled, on January 2019, a new petition to try to have the case reviewed by the Supreme Court. Let us hope that the writ of certiorari will be granted to lift the uncertainty that the Oracle v. Google saga created over the computer industry.

Flore Brunetti is an LLM candidate, 2019, at NYU School of Law.


[1] DARIA VASILESCU-PALERMO, APIs and copyright protection: the potential impact on software compatibility in the programming industry, 16 J. Marshall Rev. Intell. Prop. L. 153.,

[2] Id.

[3] Oracle Am., Inc. v. Google Inc., 872 F. Supp. 2d 974

[4] Id.

[5] Oracle America, Inc. v. Google, Inc. 750 F.3d 1339 (Fed. Cir. 2014)

[6] Id.

[7] Id.

[8] Oracle Am., Inc. v. Google LLC, 886 F.3d 1179 (Fed. Cir. 2018)

[9] Pamela Samuelson & Clark D. Asay, Saving software’s fair use future, 31 Harv. J. Law & Tec 535

[10] Michael Barclay and Mitch Stoltz, EFF Asks the Federal Circuit to Fix its Terrible API Copyright Decision, May 30, 2017.

[11] Kent Walker, Oracle v. Google and the future of software development