California District Court Dismisses Oracle’s Copyright Infringement Claims Against Google, Finds APIs not Copyrightable
By Susanna Lichter – Edited by Jennifer Wong
Oracle America, Inc., v. Google Inc., No. C 10-0361 WHA (N.D. Cal. May 31, 2012) (hosted by Groklaw)
The U.S. District Court of Northern California in San Francisco dismissed Oracle's claims that Google had infringed Oracle's copyright in 37 application programming interfaces (“APIs”), holding that the particular elements duplicated in Google's Android operating system were free for all to use under the Copyright Act.
Oracle filed the billion-dollar lawsuit against Google in August 2010, shortly after acquiring Sun Microsystems, Inc. and its interest in Java, the language used in Android. The suit alleged both copyright and patent infringement by Google's exact replication of the names, organization, and functions of the APIs.
On May 23 a jury of ten unanimously found that Google did not infringe on patents held by Oracle. Two weeks earlier the jury had unanimously decided that Google infringed Oracle’s copyright in the APIs, but deadlocked on whether Google's infringement qualified as fair use. Judge William Alsup resolved the copyright claims, finding that the APIs were not copyrightable to begin with. Oracle will be limited to collecting statutory damages for 9 lines of code that were copied from Java, the resulting damages of which may not exceed $150,000.
Wired provides an overview of the case. JOLT Digest reported on the patent claim and
Ars Technica interviewed Google attorneys Kent Walker, and Renny Hwang after the verdict.
In holding as it did, the opinion relied on several well established principles of copyright law, touring a roster of cases that included greatest hits such as Baker v. Selden, 101 U.S. 99 (1879), and new classics such as Whelan Associates, Inc. v. Jaslow Dental Laboratory, Inc., 797 F.2d 1222 (3d Cir. 1986), Computer Associates International, Inc. v. Altai, 982 F.2d 693 (2d Cir. 1992), Feist Publications, Inc. v. Rural Telephone Services Co., Inc., 499 U.S. 340 (1991), and Lotus Development Corp. v. Borland International, Inc., 49 F.3d 807 (1st Cir. 1995).
The Names Copyright Claim
Google created its own implementations for 97 percent of the code for the 37 APIs. The remaining 3 percent, consisting of the names of the API packages, necessarily must be identical to the Oracle Java packages due to the rules of Java. In finding that Google lawfully replicated the names, Judge Alsup referenced the “merger” doctrine, established in Selden, which provides that when there is only one way to express something, no one may claim exclusive copyright ownership of that expression. He also made use of the “clear-cut rule” that, according to the Copyright Office, names and short phrases are not copyrightable.
The Organization Copyright Claim
Google not only duplicated the names of the API packages, it also duplicated the organizational hierarchy of the APIs. In responding to Oracle’s argument that Whelan (a “high-water mark” for copyright protection of a program’s structure, sequence and organization) should be controlling, Alsup determined that the “Whelan approach has given way to the Computer Associates approach” that evaluates a claim more cautiously. Alsup outlined Computer Associates' three-step “abstraction-filtration-comparison” test, designed to extract copyrightable expression from non-copyrightable elements dictated by efficiency, external factors, and those in the public domain and found that Oracle cannot monopolize the organization that Google used.
Judge Alsup further cited two cases, Sega Enterprises Ltd. v. Accolade, Inc., 977 F.2d 1510 (9th Cir. 1992) and Sony Computer Entertainment, Inc., v. Connectix Corporation, 203 F.3d 596 (9th Cir. 2000), as holding that Section 102(b) of the Copyright Act, which denies copyright to methods of operation, bars copyright protection from software interfaces necessary for interoperability. Alsup found that duplication of the command structure, wherein the commands take the form "java.package.Class.method()," is necessary for interoperability and, therefore, Google and the rest of the world is entitled use the same method specification provided the line-by-line implementations are different.