A central doctrine in copyright cases is that only expression is copyrightable, not the idea itself. An idea may be expressed in many ways. It might be said, for example, that William Blake, through his mystical visions, and Elizabeth Bishop, through her exacting but plain poems that offer no self-indulgence, both describe the reality that underlies our daily search for meaning. So too can one write different computer code to perform the same functions. While perhaps not as elegant as Blake or Bishop, the Federal Circuit of Appeals, applying Ninth Circuit Court of Appeals law, found that the Java software code at issue in this suit, and its structure, contain sufficient expressive originality to be copyrightable.
Oracle’s predecessor in interest, Sun, conceived the idea to write a number of ready-to-use Java programs to perform common computer functions and to organize those programs into groups or “packages.” These packages allow programmers to use the pre-written code to build certain functions into their own programs, rather than write their own code to perform those functions from scratch. The idea was to create shortcuts for programmers. Oracle America, Inc. v. Google, Inc., ___ F.3d ___, 2014 WL 1855277 at *2 (Fed. Cir. 2014).
The Expressions of the Idea
The actual Java “application programming interface” (“API”) packages, 37 of which were at issue in the Oracle v. Google case, each consist of two types of “source” code – declaring code and implementing code. The declaring code is the “expression that identifies the prewritten function” and “commands the computer to execute the associated implementing code. The implementing code gives the computer the step-by-step instructions for carrying out the declared function.” In addition, the Java API packages have a (three-dimensional) specific structure, sequence and organization.
Oracle offers three different licenses for the Java API packages. Of these, the “General Public License” is free and provides that the licensee can use the packages – both the declaring and implementing code – but must “contribute back” its innovations to the public -- an “open source” license. However, Google refused to agree to contribute back any of the new code that would be written. Therefore, Google decided to use the Java programming language to design its own virtual machine and to write its own implementation code for the functions in the Java API that were key to mobile devices, resulting in the Android platform, which grew to include 168 API packages – 37 of which correspond to the Java API packages at issue. With regard to these 37 packages, “Google believed Java application programmers would want to find the same 37 sets of functionality in the new Android system callable by the same names as used in Java.” To achieve this result, Google copied the declaring source code from these 37 packages verbatim, inserting that code into part of its Android software. In doing so, Google also copied “the elaborately organized taxonomy” of all the names of methods, classes, interfaces, and packages, that is, Google also duplicated the “structure, sequence and organization” of the 37 packages.
Let Me Count the Ways – A Matter of Perspective
Google argued, and the trial court had held, that the replicated elements of the packages were not copyrightable because “there is only one way to write” the declaring code, and therefore the “merger” doctrine barred anyone from claiming copyright ownership. Further, the trial court held that the declaring code was not protectable because “names and short phrases cannot be copyrighted.” Id. at 6. With regard to the overall structure of the Java API packages, the trial court had found that because it is a “command structure, a system or method of operation” to carry out pre-assigned functions, it was not entitled to copyright protection.
The court of appeals rejected all of these arguments, reversed on the copyrightability issue and remanded on the issue of fair use. With regard to the declaring source code, the court held that the merger doctrine only applied when there are a limited number of ways to express an idea, and the idea is said to “merge” with its expression. The court noted that, under Ninth Circuit law, the doctrine of merger is an affirmative defense to infringement, not an element of copyrightability. In addition, the court rejected application of merger to the case because the Android declaring code, the method and class names “could have been different from the names of their counterparts in Java and still have worked.” Id. at 14. Further, the trial court had erred by focusing its merger analysis on the options available to Google at the time of copying, whereas copyrightability is to be evaluated at the time of creation, not at the time of infringement. Id. at 15.
The court then quickly disposed of the “short phrases” argument by noting that while “words and short phrases such as names, titles and slogans” are not subject to copyright protection, the question is whether “those phrases are used creatively.” The court analogized to the opening paragraphs of “A Tale of Two Cities,” which is nothing but a string of short phrases. Oracle was not seeking copyright protection for a specific short phrase or work, but for 7,000 lines of declaring code. The court similarly dismissed Google’s claim that the declaring code it copied fell within the “scenes-a-faire” doctrine because they are “standard, stock, or common to a topic.” Essentially, Google’s argument here is that “because programmers have become accustomed to and comfortable with using the groupings in the Java API packages, those groupings are so commonplace as to be indispensable to the expression of an acceptable programming platform.”
The court again noted that the analysis must be on the external factors that dictated “Sun’s selection of classes, methods and code – not upon what Google encountered at the time it chose to copy those groupings and that code.” Id. at 17. The court’s analysis of this “non-literary” aspect of Oracle’s claimed copyright – the structure, sequence and organization of the API packages -- is more complex and reveals a circuit split. The trial court had relied upon Lotus Development Corp. v. Borland Int’l, Inc., 49 F.3d 807 (1st Cir. 1995), aff’d without opinion by equally divided court, 516 U.S. 233 (1996), to hold that the Java API packages were a “method of operation” and therefore not copyrightable. In addition to distinguishing Lotus on its facts, the court noted that the Ninth Circuit has reached the exact opposite conclusion, finding that copyright protects the expression of a process or method. Id. at 19. Rather, the Ninth Circuit uses the Second Circuit’s “abstraction-filtration-comparison” analysis when assessing whether the non-literal elements of a computer program constitute protectable expression. Indeed, no other circuit follows the First Circuit in this regard.
The court also reversed the trial court’s finding that in order for at least some of the Java Code to run on Android, Google was required to provide the same command system using the same names, taxonomy and functional specifications. The trial court had held “Google replicated what was necessary to achieve a degree of interoperability but no more, taking care to provide its own implementations.” However, the cases relied upon by the trial court involved copying in order to do reverse-engineering, that is, in order to understand the functional aspects of the copyrighted works – and then created new products that would work with them. Indeed, Google designed Android so that it would not be compatible with the Java platform. Id. at 24.
The court finally remanded on the defense of fair use, holding that, even under a correct reading of the law, there were fact issues on the fair use factors, particularly whether Google’s use was necessary to work within a language that had become an industry standard. However, the expression of an idea, no matter how standard, is not the idea itself and therefore entitled to copyright protection – unless that expression is the only way the creator could have expressed the very idea.