Java API Classes as Fictional Characters―A Proposal for Google v. Oracle (Guest Blog Post)
In disputes over the copyrightability of computer programs and their elements, it is common to invoke analogies from literature. In Google v. Oracle (in which the U.S. Supreme Court granted a cert petition on November 15, 2019), Oracle began its appellant’s Opening Brief in 2013 with an analogy drawn from “Harry Potter and the Order of the Phoenix”; the U.S. Court of Appeals for the Federal Circuit then used Charles Dickens’ “A Tale of Two Cities” in its 2014 decision. (Professor Peter Menell gives an excellent and detailed description of the Oracle v. Google litigation here). Analogies have been drawn to library bookshelves, books, chapters, paragraphs, and topic sentences to explain the structure and nature of the Java programming language at issue in Oracle v. Google (as styled in the lower courts).
However, when it comes to the code for programming objects, such as the code for Java’s API classes, perhaps the proper analogy should be the names and descriptions of fictional literary characters. Is it possible for a fictional literary character, someone like “Sherlock Holmes,” for instance, to be a proper analogy for “java.security.ProtectionDomain”? “Sherlock Holmes” evokes a mental image with distinctive traits―the kind of distinctively delineated, specific, non-general characteristics that courts require in order to afford copyright protection to fictional characters. [FN] For the right kind of reader, though, “java.security.ProtectionDomain” may, perhaps, evoke a mental image―an image of a particular Java class.
[FN: Because of the length of time since the publication of most of Sir Arthur Conan Doyle’s novels about Sherlock Holmes, the character of “Sherlock Holmes” is largely out of copyright—see Klinger v. Conan Doyle Estate, Ltd., 988 F. Supp. 2d 879 (N.D. Ill. 2013), aff’d, 755 F.3d 496 (7th Cir.), cert. denied, 135 S. Ct. 458 (2014).]
Arguably, programming objects, which are described by code such as the code in Java classes, are somewhat like fictional characters: the objects are “capable of sending and receiving messages and processing data,” and “each object [acts] as an independent entity or actor with a distinct role or responsibility.” Gerard O’Regan, A Brief History of Computing, Springer-Verlag, 2012, DOI 10.1007/978-1-4471-2359-0_5, p. 132. Object portability corresponds to the “portability” of a copyright-protected literary character: the character’s traits are “delineated to the point at which [the character’s] behavior is relatively predictable so that, when placed in a new plot situation, it will react in ways that are at once distinctive and unsurprising.” Goldstein on Copyright §2.7.2.
How would the analogy work? Using copyright-protected characters from an existing novel in a new work without the copyright owner’s permission or license possibly infringes copyright in the characters. Even if the only words copied from the original novel are the names of the characters, infringement may still occur—not because of the use of the names as such (names are unlikely to be protected by copyright), but because of the use of the characters in the new work. Even if the new work includes a completely new description of the characters (describing the same characters using different text than in the original novel), the new work still infringes the copyright in the characters. By analogy, using an object (such as a Java class) in a new work (such as Google’s Android) would infringe copyright in the object, even if the new work (Android) uses only the object name (the declaring code of the Java class) and its own new implementing code for the object, as long as it is the same object.
As is the case for fictional literary characters, the devil is in the protectability of the programming object. Is the object actually copyrightable, i.e. is it an original work of authorship? Or, in the language applied to fictional characters, does the object have distinct, non-general traits? An object consists of methods of operation, which are on their own not protectible by copyright; a literary character can also be the sum of individually unprotectible elements, particularly if there is no visual image that accompanies the character. Consequently, protectability seems to be a high bar for a programming object, but perhaps appropriately so if copyright law should promote creativity in computer programming.
Understandably, some will find the above analogy unsuitable, and perhaps just as inappropriate as have been many previous attempts to analogize computer programs to literature. The uncertainty surrounding the copyrightability of literary characters might be another good reason to avoid the analogy. But to those who look for analogies in literature to assist them in understanding what is and what is not copyrightable in computer programs, it might be useful to employ an analogy using fictional literary characters instead of analogies using books, chapters, paragraphs, or topic sentences.
The author thanks Dr. Andreas Stefik, Associate Professor at the University of Nevada, Las Vegas, for his comments on an earlier version of this text.