Citation Edit

Oracle America, Inc. v. Google, Inc., 872 F.Supp.2d 974 (N.D. Cal. 2012) (full-text), rev'd and remanded, 750 F.3d 1339 (Fed. Cir. 2014) (full-text).

Factual Background Edit

Oracle accuses Google of infringing some of Oracle’s Java-related copyrights in portions of Google's Android software program. These specific accusations are regarding 12 code files and 37 specifications for application programming interface (API) packages. The Java technology and the basics of object-oriented programming were explained in the claim construction order. An overview of APIs and their role in Java and Android are as follows.

Application Programming Interfaces (APIs). An API allows software programs to communicate with each other. It is a set of definitions controlling how the services of a particular program can be summoned, including what types of input the program must be given and what kind of output will be returned.

APIs are usually made of "methods" or "functions," which are software programs that perform particular services. Methods must be defined before usage, by stating its name and describing its argument(s) and return(s) according to syntax conventions. Once a method has been declared, it can be documented and implemented. Documentation is not a code; it is a reference item providing programmers with information about the method, its requirements, and its use. Implementation is a code that actually tells the computer how to carry out the method. Multiple implementations are likely for a given method.

Java and Android. Java and Android are both complex software platforms with several components. Java programming has been made freely available for use by anyone without charge; both sides agree on this. Oracle alleges that other aspects of the Java platform, such as the virtual machine and class libraries, however, are protected by patents and copyrights.

The Android platform uses the Java programming language, thereby allowing software developers who already use the Java language to continue using the same language to write programs for Android. Opposed to Java, the Android platform uses the Dalvik virtual machine instead of the Java virtual machine, provides Android class libraries, and has other non-Java features. While the Java platform has been used primarily on desktop computers, it has also been used on cell phones and other mobile computing devices. Android, however, was designed specifically for use on mobile devices. Java and Android are competitors in the market for mobile computing software.

Oracle alleged that Android was an unauthorized and incompatible Java implementation. Some programs written for the Java platform will not run properly on the Android platform, even though both use the Java language. Some programs written for the Android platform will not run properly on the Java platform, although they are written in the Java language. Oracle alleges that this so-called breakup weakens Oracle by decreasing Java's appeal to software developers.

Trial Court Proceedings Edit

The parties agreed that the jury would decide infringement, fair use, and whether any copying was de minimis, while the district judge would decide copyrightability and Google's equitable defenses. The district court did not order a new trial when the jury hung on Google's fair use defense because the district judge concluded that the elements of the API packages that Google had copied, including their declaring code and their structure, sequence and organization, were not subject to copyright protection. Oracle appealed the district judge's finding regarding copyrightability, and asked the court of appeals to also rule that Google’s use was not fair.

Appellate Court Proceedings Edit

The Court of Appeals for the Federal Circuit found that the API packages and those packages' structure, sequence and organization were subject to copyright protection. The court then remanded the case to the district court for consideration of the fair use issues. In doing so, however, the court did comment on a few aspects of the fair use issues in the case, noting that it was undisputed that Google’s use of the API packages was commercial but that there was disagreement about whether Google's use was transformative. The court also observed that the considerations it reviewed relating to the functional aspects of the packages and interoperability that are relevant to copyrightability may also be relevant to a fair use analysis. Additionally, regarding market impact, the court noted that there were material facts in dispute as to whether both parties had successfully entered the relevant market or not.