Oracle and Google have been fighting for six years about whether Google infringed copyright by its use of 37 of the 166 packages that constitute the Java API in the Android software platform for smart phones. Last week Google won a jury trial verdict that its reuse of the Java API elements was fair use.
Let me first explain the main facts and claims in the lawsuit, and then why Google’s fair use victory is a good thing not only for Google, but also for open source developers, for software developers more generally, and for the public.
Oracle claims to own intellectual property rights in the Java API because it bought the assets of the now-defunct Sun Microsystems, which first developed a set of Java technologies, including a complex API. Oracle asserts that the Java API packages, the classes within each package, and the specific declarations used to invoke executable code to perform particular functions are all protectable by copyright law, and Google infringed by copying a substantial number of them. (Math.max, for instance, is a declaration that invokes implementing code that compares two numbers and determines which is the larger.)
Google has defended this lawsuit by arguing that the Java API and its component parts are unprotectable by copyright law, but even if (as the Court of Appeals for the Federal Circuit ruled two years ago) the API elements at stake are copyright-protected, its reuse of these elements was a fair and non-infringing use of the code.
Annette Hurst, one of Oracle’s lawyers, has recently argued recently that Google’s victory will be harmful to open source developers. I have a great deal of respect for her as a lawyer, but this claim is not just greatly exaggerated. It’s wrong. Here’s why:
A fundamental and widely shared norm in the computing field for decades has been that an independent reimplementation of another firm’s API in one’s own code is a lawful and fair thing to do. Court decisions dating back to 1992, including the landmark Computer Associates v. Altai and Sega v. Accolade decisions, have backed up this industry norm by ruling that internal interfaces of computer programs are unprotectable by copyright law on account of their functionality. The CAFC misinterpreted those, as well as other, software copyright decisions in its 2014 ruling that the Java API elements that Google copied were protectable by copyright law. But the CAFC sent the case back to the trial court for a jury ruling on the fair use issue. The jury has now spoken loud and clear.
So why is this a victory for the open source community as well as for Google? The main reason is because open source programs are often designed to interoperate with, either as complements or substitutes for, existing programs, and to accomplish interoperation, open source developers must be able to reimplement existing program APIs in their own program code. Oracle’s position in the Google case has been that any creativity in the development of an API suffices to provide the developer with copyright protection for it, and unauthorized use of the API in another program infringes. This position is 180 degrees different from the public positions that Sun Microsystems took for years, which endorsed, as Jonathan Schwartz, its former CEO testified at trial, free reuse of APIs in independently written code.
An open source developer may, of course, create an API in the course of making its open source program. That developer can put the program code under a general public license (GPL) or other open source license. But the API of an open source program is and should be as free for reimplementation in another firm’s independent code as it would be if embedded in a proprietary program.
Some developers of APIs make them publicly available, as the Java API specification has been. Other developers maintain APIs as trade secrets, and license the APIs to third party developers. Even public or semi-public APIs may be the subject of license negotiations, but there may be good reasons to license the API in order to get fuller cooperation and additional know-how from the developing firm’s expertise and other technologies.
Hurst is wrong in asserting that Google’s fair use victory means that anyone can freely appropriate whatever they want from open source and other programs. All that the jury verdict means is that Google made fair use of the Java API packages. Anyone else who appropriates elements from another firm’s software would have to defend a legal challenge on much the same grounds that Google did: Either by claiming that the elements appropriated were not within the scope of protection that copyright law provides to software developers or that the appropriation of those elements was fair use.
Developers of software need some simple norms to live by. One such norm is that independent reimplementation of an API in one’s own original code does not infringe copyright. That’s the law as well as good public policy. The public has greatly benefited by the existence of this norm because anyone with a creative software idea can write programs that will run on existing platforms. The software industry has thrived under this norm, and the public has a wide array of choices of innovative programs in a competitive marketplace.