Visit our web site at www.sunsteinlaw.com

Monday, April 30, 2018

Copying Complex APIs is Not Fair Use: The Federal Circuit Turns the Software World on its Ear

Thomas C. Carey





The Federal Circuit has issued a copyright opinion that stands to radically alter both copyright law and the software industry.  The case involves the first-ever reversal of a jury on the question of fair use, and the first time that APIs (described below) and their organization have been protected by copyright despite a fair use defense.
At the center of the controversy in Oracle America v. Google are application programming interfaces (APIs): instructions that invoke (or call up) entire programs, provide those programs with bits of data, and receive back the results of processing using that data.
To illustrate a simple API, imagine an instruction that reads: SQRT 4, where the command “SQRT” invokes a program that calculates the square root of the number that follows the command.  The hard work is done by an implementing program.  The command “SQRT 4”, called the “declaring code”, is a simple command that seems to involve little or no imagination or expression.  Instead, it seems purely functional, exactly the sort of development that is denied copyright protection and that can be protected, if at all, only by patent law.
The Development and Cloning of Java.  In the 1990s, Sun Microsystem developed the Java platform, which was designed to allow programmers to write code that, once written, could run on any popular computer hardware.  While Sun presented Java as open source software, and thus made it freely available to all, it kept tight reins on its evolution as a product that would carry the “Java” trademark.  It also kept some key components proprietary and demanded license fees for the complete Java package.
Sun was successful in developing a community of programmers who wrote code and contributed it to the Java platform.  In time, there would be 30,000 such programs (called “methods,” in Java parlance) and several million programmers writing applications in Java.
Google decided to aggressively pursue the smartphone market in 2005 when it acquired Android Inc.   It gave its technical team a tight timetable for developing Android into a complete smartphone operating system.  The team quickly decided that incorporating Java into its system was key to meeting its deadline.
Google tried to negotiate a license with Sun, but talks broke down over Sun’s insistence on maintaining control over the Java platform so that its motto of “write once, run anywhere” would continue to be true.  Sun feared, correctly as it turned out, that Google might create a version of Java that would be incompatible with its own version, and result in Java-like programs that would run on Android but not elsewhere.
When negotiations cratered, Google panicked.  The Android team had been working on substitutes for the Java platform, but, as a top Android engineer lamented, Google’s versions were “half-ass at best. We need another half of an ass.”  A Google engineer was tasked to investigate what options besides Java were available.  He summarized Google’s predicament as follows:
What we’ve actually been asked to do (by [Google’s co-founders]) is to investigate what technical alternatives exist to Java for Android and Chrome. We’ve been over a bunch of these, and think they all suck. We conclude that we need to negotiate a license for Java under the terms we need.
Android’s chief gave Google’s founders two options: “1) Abandon our work or 2) Do Java anyway and defend our decision, perhaps making enemies along the way.”
Google chose option 2. Google copied verbatim the declaring code of 37 Java API packages, 11,500 lines of Oracle’s copyrighted code, and the elaborately organized taxonomy known as the “structure, sequence, and organization” (“SSO”) of the Java API packages.
The Litigation.  Sun originally expressed enthusiasm for the release of Android and its reliance on the Java platform, but attitudes changed soon after Oracle acquired Sun.  It sued Google in 2010 for patent and copyright infringement.  The case went to trial, where the jury found that Google did not infringe the Oracle patent in question.  The jury found, however, that Google had infringed Oracle’s copyright, but was unable to agree on whether it was protected as fair use.

No comments:

Post a Comment