Is a software interface entitled to copyright protection? Does use of an existing software interface when creating a new computer program constitute fair use? The US Supreme Court has decided to weigh in.
On November 15, 2019, the Supreme Court granted Google's petition for certiorari in Google LLC v. Oracle America Inc.--a case spanning almost a decade--and will now decide whether Oracle's Java Application Programming Interfaces (APIs) deserve copyright protection, and whether Google's use of Java APIs in its Android operating system constitutes fair use.
As background, Google had negotiated with Sun Microsystems, the prior owner of Java, to use Java in its Android platform. Negotiations ended without agreement in 2005. However, Google implemented Java API in its Android OS. In particular, Google used the "declaring code" of Java's API (the names used by programmers to implement common Java functions and methods, and the organization of Java's API library), but Google wrote its own code for carrying out the functions and methods. The purpose of doing this was to make it easier for programmers already familiar with Java to write code in Android.
Oracle acquired Sun Microsystems in 2010 and subsequently filed a lawsuit in the Northern District of California accusing Google of copyright and patent infringement.
In 2012, a jury found that Google did not infringe on Oracle's patents, and the district court entered a judgment as a matter of law that the Java APIs were not copyrightable. The district court found that the overall organization of the Java APIs, i.e., the "structure, sequence, and operation" (SSO) of the Java APIs, was a "method of operation" under 17 U.S.C 102(b) and was thus not copyrightable, and that under the "merger doctrine" the declaring code was not copyrightable, because it could only be expressed in a limited number of ways in order for the code to work. Oracle Am., Inc. v. Google Inc., 872 F. Supp. 2d 974, 986-1001 (N.D. Cal. 2012).
The Federal Circuit reversed in 2014 on the issue of whether the Java APIs were copyrightable, and held the district court erred by not focusing its merger analysis on the options available at the time that the Java APIs were created and misapplied 9th Circuit law in finding that the SSO of the Java APIs used by Google was a "method of operation" under 17 U.S.C 102(b) because, so long as the SSO was original and creative, which the Court found it was, the SSO was protectable. Oracle Am., Inc. v. Google Inc., 750 F.3d 1339, 1359-1368 (Fed. Cir. 2014). The Federal Circuit thus remanded back to the district court to determine if Google's use constituted fair use.
Thereafter, Google filed its (first) petition for certiorari in 2015, which the Supreme Court denied.
On remand, the district court entered a judgment as a matter of law that Google's use is fair use, but in 2018 the Federal Circuit reversed. Oracle Am., Inc. v. Google LLC, 886 F.3d 1179, 1196-1211 (Fed. Cir. 2018).
Google then filed a (second) petition for certiorari, in January of this year, asking the Supreme Court to review both Federal Circuit decisions. In its petition Google asked the Court two questions:
1) Whether copyright protection extends to a software interface; and
2) Whether Google's use of a software interface in the context of creating a new computer program constitutes fair use.
The answers could implicate software licensing and the ability to design interoperable software and programming languages. Over a dozen companies and institutions have submitted amicus briefs, highlighting the importance that an eventual Supreme Court decision may have on the software industry.