This month saw the long-awaited hearing before the US Supreme Court between two tech giants – Google and Oracle. This copyright dispute of the decade, as it is often referred to by the media, began in 2010, following the acquisition of Java creators Sun Microsystems by Oracle Corporation. The outcome of the dispute could have a significant impact on the software industry and copyright law.
What is the dispute about?
The case concerns the use of Java’s application programming interface (API) – in its simplest terms, a set of rules describing how programs or supersets communicate with each other. Many software programs and libraries, particularly open source, are developed before replicating API functionality from commercial or competing products to help developers ensure interoperability between different systems or platforms.
Java itself was developed by Sun and first released in 1996, quickly becoming one of the most popular programming languages and platforms in the world. In the early years of the last decade, Google and Sun began discussing a collaboration to allow Google to adapt Java for smartphones. They had plans to incorporate Java Standard Edition (SE) programming libraries into the Android operating system they were developing. Sun Microsystems has since been acquired by Oracle, and negotiations to date have failed. However, the lack of an agreement did not stop Google from using the Java API. As a result, Oracle filed a lawsuit against Google claiming that they had copied the structure, sequence, and organization of the software code for 37 packages, thereby infringing copyright even though, the API implementation was written independently.
Google countered these claims by consistently arguing that Java APIs are methods of operation/functions that are not copyrighted. To understand the crux of the issue, it’s useful, following Judge William Alsup, ruling in the first instance case before the U.S. District Court for the Northern District of California, to compare an API to a library. Each package resembles the bookshelves in that library.
As for the 37 packages already mentioned that are in dispute, the Java and Android libraries are organized in the same basic way. All chapters in Android were written with implementations other than Java, but solving the same problems and providing the same functions. Each method and class is specified to perform the exact functions requested, so the “declaration,” the line of code stating the specification, must be identical to perform the function. Another, perhaps even more accessible way to explain the essence of an API might be to compare it to a menu in a restaurant. It contains a list of offered dishes and their descriptions. After the customer selects a dish on the menu, the waiter passes the order to the kitchen, where the dish is prepared and then served to the customer. The customer does not know how the chef prepares the food and does not need to know. This comparison doesn’t take into account all possible uses of the API (especially if you’re a programmer), but it’s enough to give a general idea of how it works.
Google’s position is primarily that, first, Java APIs are not copyrightable, and second, even assuming otherwise, the elements reproduced by Google are subject to the fair use doctrine. Several tech-related companies, as well as associations and representatives of the legal community, have written on this issue as “friends of the court” (lac. amici curiae) to the Supreme Court, mostly siding with Google.
The Supreme Court’s analysis
The Supreme Court’s analysis, as it could be inferred already, will concern mainly two issues of American copyright law, whose equivalents can also be found in the Polish legal system, i.e. the merger doctrine and its applicability to Java API, and the fair-use doctrine.
The Merger doctrine is related to the principle of separating the unprotected idea from the protected expression (the idea-expression dichotomy). It states that when there is only one or a limited number of ways to express an idea, copyright will not protect that expression because it has “merged” with the idea. When the idea and expression are very difficult to separate, they are said to merge. Both of these doctrines owe their origins to the landmark case Baker v. Selden, which was also before the U.S. Supreme Court.
The fundamental question rests primarily on whether the merger doctrine applies to Java APIs. Oracle cites the creative aspect of the choices made by developers. Google, on the other hand, argues that Java APIs are the only and necessary means to accomplish a given task – in other words, the concept underlying the API cannot be expressed in more than one way. Java APIs are therefore not protected, and their use does not constitute copyright infringement. If the Court agrees with Oracle on this aspect, granting the API the status of a work, the next necessary issue to consider is whether Google’s use of the API may be permissible under fair use. Fair use is a doctrine present in U.S. copyright law that permits limited use of protected material without first obtaining permission from the rights holder. With minor differences, it corresponds to the Polish concept of fair use. Section 107 of the Copyright Act of 1976 specifies certain permitted uses – such as criticism, commentary, news reporting, teaching, scholarship, and research. Besides, it specifies the factors that must be considered when considering such use, i.e., the purpose and nature of the use, particularly whether it is for commercial or non-commercial and educational purposes; the type and nature of the work used; the proportion of the volume and significance of the portion of the work used concerning its total volume, and the volume and significance of the derivative work in which the portion is used; and the results of the effect of the use on its sales and market value.
During Wednesday’s hearing, which lasted nearly two hours, the judges and attorneys for the parties compared the Java API to a song, a football team, an accounting system, instructions for finding a spice mix at the grocery store, and the layout of a QWERTY keyboard. Based on these comparisons and the questions asked, it’s questionable whether the judges fully understood the nature of the API.
Does the dispute have implications for Europe?
Although the case is pending before a U.S. court, its outcome may potentially impact the concept of API protection in the European Union. The position presented to date in case law, most notably in the judgment of the Court of Justice of the EU of 2 May 2012 in SAS Institute Inc. v. World Programming Ltd. – C-406/10, does not grant protection to the application programming interface. In the case cited, the Court held that the set of functions, language, or format of data files used within a computer program to use certain of its functions do not constitute a form of expression of that program and, as such, are not subject to the protection accorded to computer programs by copyright within the meaning of Council Directive 91/250/EEC of 14 May 1991.