As you may have heard, Google won a major fair use victory yesterday against Oracle involving Google’s implementation of certain Application Program Interfaces (APIs) of the Java programming language in its popular Android mobile operating system. The case has been running for six years, has important consequences for software and innovation, and featured a number of twists and turns. Here’s a guide to what’s happened, why it’s important, and what to expect.
What just happened yesterday?
A California jury returned a unanimous verdict finding that Google’s implementation of 37 Java APIs in its Android mobile operating system was a fair use and did not infringe any copyright owned by Oracle. Oracle had purchased Sun Microsystems, the company that created Java, in January 2010, and then sued Google seven months later.
Implementation of an Application Program What?
An API, or “application programming interface” is a framework that allows software to communicate with other software. For example, you could create a program that performed a specific function, let’s say a mathematical calculation. You could allow other programs to contact your program to perform the function. But you’d want the other program to contact your program in a predictable, structured way so that your program could understand the request. The framework for the communication between the two programs is an API. Google wanted programmers to be able to use the familiar and free-to-use Java programming language to develop applications for its Android mobile operating system. This ensured that consumers would have a wide variety of applications to choose from when Android was new and untested–developers are much less likely to learn an entirely new programming language and set of APIs for a new operating system that might not be successful. (Similarly, Apple re-used the Objective C programming language and many of its Mac OS X APIs for the iPhone.)
Thus, in order to ensure that Android would respond in the way an application developer expected, Google copied the structure and labels of 37 Java APIs. That way the apps created by the developer could talk to the programs built into Android by Google (i.e. Google’s “implementation” of the API).
Ok, so Google copied Oracle’s code. Isn’t that against the law?
While copyright law protects works of expression, including software code, not all works of expression are protectable. Copyright law doesn’t protect facts or “any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.” 17 U.S.C. § 102(b). So it doesn’t protect a phone book, or a blank accounting forms.
Courts have grappled with where to draw the line where copyright protection for software ends since the 1980s. There are clear instances where code is not subject to copyright protection–for example, if there is one most efficient way to implement a particular mathematical algorithm in code, copyright can’t prevent other people from implementing it the same way. Copyright protects expressive works, not good ideas or even computer science breakthroughs. The legal question then is whether APIs are closer to being functional, since other software must interact with them in particular ways to maintain compatibility, or closer to something that is more purely creative expression, like most other code.
The district court judge in this case, Judge William Alsup, observed a “trend” of caution in extending the scope of copyright protection over software in those prior court rulings in a 2012 opinion of his own, noting that the trend “has been driven by fidelity to Section 102(b) and recognition of the danger of conferring a monopoly by copyright over what Congress expressly warned should be conferred only by patent.”
In the abovementioned 2012 opinion, Judge Alsup ruled that the structure, sequence, and organization (SSO) of Java APIs that Oracle based its copyright claims on was simply not copyrightable in the first instance. As a result, Google (and any software developers) could copy the strictly functional elements of Oracle code in the course of developing its own implementation.
Wait, that was 2012. Why was there a trial in 2016? What happened in between then and now?
Judge Alsup’s decision on copyrightability was appealed to the Court of Appeals for the Federal Circuit. In 2014, the Federal Circuit overturned Judge Alsup and declared that software SSO can be copyrighted. While Judge Alsup’s decision set out a clear rule that ensured that copyright law would not overturn settled expectations of software developers, and could not be wielded to impair software interoperability and functionality, the Federal Circuit threw it out, threatening to introduce significant legal uncertainty into the software industry.
The Federal Circuit? Isn’t that the Patent appeals court?
The Court of Appeals for the Federal Circuit is not just the “patent appeals court” – that’s just what it’s famous for. In most cases, when a case is appealed from a federal district court, the court that hears the appeal is determined by geography. The Ninth Circuit hears appeals from cases filed in district courts in California and much of the western United States; the Second Circuit hears cases from New York, Connecticut, and Vermont; the Fifth Circuit covers Texas, Louisiana, and Mississippi, and so forth. There’s one quirky exception – if a case includes a patent claim, then the appeal is heard by the Washington, D.C. based Federal Circuit. But the Federal Circuit doesn’t just get the patent questions in those cases – it hears any appeals from that case, even on non-patent questions. That’s what happened here – Oracle filed both patent and copyright claims, which allowed the Federal Circuit to weigh in on Copyright law.
The Federal Circuit is famous for its expansive interpretation of patent law, interpretations that have been subject to repeated reversal by the Supreme Court in the last 10 years. Applying it’s expansive view of intellectual property rights to copyright law, the Federal Circuit determined that the structure of APIs were copyrightable, and sent the case back down for a new decision.
Didn’t the Supreme Court weigh in on this?
Although Google petitioned the Supreme Court to intervene and overturn the Federal Circuit’s decision (a petition that we supported), the Supreme Court declined to weigh in. As a result the Supreme Court left the Federal Circuit’s view standing without necessarily endorsing it. Also, as explained below, that doesn’t mean it’s the national rule on the question of copyright in API structure. Finally, it’s worth remembering that the Supreme Court only accepts a handful of petitions for review each year.
OK, so API structure is protected by copyright and Google copied Java’s. So how did Google win?
First one technical note: in the United States, until the Supreme Court weighs in on an issue, there can be multiple interpretations of the same law. Courts of Appeals in different circuits can reach different answers to the same question. Sometimes these differences are small enough that the Supreme Court lets them stand. Other times they’re big enough to create a “circuit split” – reconciling these splits is one of the reasons that the Supreme Court will sometimes agree to review a case. With respect to copyrightability of the structure of APIs, other circuits have reached a different conclusion than the Federal Circuit. So the Federal Circuit’s view on that question is not the national rule – it only affects cases that it has jurisdiction over.
So if Google copied code that’s protected by copyright, how did they win? As we often point out, copyright protections are subject to many limitations and exceptions. The right of distribution is limited by the first sale doctrine. The right of public performance does not affect in-home private performances. The best known and most flexible limitation on copyright protection is “fair use.”
When the Federal Circuit ruled that the structure of APIs was protected by copyright, it left open the question of whether Google’s specific use might still be considered a fair use, and therefore not infringing. That’s what the district court just considered.
What does fair use have to do with software? I thought it was about parody, news reporting, and criticism?
Fair use is often about parody, news reporting, criticism, and commentary – those are often called “paradigmatic fair uses”, the obvious and quintessential activities that the law doesn’t want copyright to stifle. But fair use is much more than just a list of approved exceptions. Fair use is codified in the copyright statute today, but has its origins in the common law. That means that it was a doctrine crafted by judges who recognized that in order to achieve an appropriate balance in the law, the general rules of copyright protection needed to be subject to exceptions where appropriate, taking into account ever-changing market and technological conditions.
While many of the best known fair use cases are about protecting a second author’s right to use a first author’s work in creating new or different works – like a parody or a commentary – without the first author’s permission, fair use has also played a growing role in ensuring that an overly broad reading of copyright law doesn’t stifle technological innovation. Fair use helped give us home video recording, search engines, and the ability to electronically search vast volumes of printed materials. This is the case even though some of these uses involve copying the entirety of a work for commercial purposes.
Today we can add “promoting programming language compatibility and interoperability” to the list of fair uses protected under the law.
The importance of fair use in protecting user expression, encouraging the development of technology that gives the public greater access to works, and promoting competition are just some of the reasons we at Public Knowledge are such huge fans of the doctrine.
Why is this case so important?
If this case had come out in the other direction, it threatened to throw the software industry into legal confusion and expose many more companies to litigation and incredibly high damages. It would have upended expectations among developers and software companies who built their products and apps with free-to-use languages under the expectation that their programs would be able to interface with one another without companies like Oracle stepping in and demanding a toll. That’s leaving aside the almost $9 billion Oracle requested as damages in this case alone.
By finding that copying the structure of APIs is a fair use, the case ensures that the software development community can continue to rely on the norms of openness and interoperability that have driven competition and allowed the industry to thrive for decades.
So everything worked out in the end?
Not exactly. While yesterday’s decision is an important precedent that can allow the software development community to breathe a sigh of relief, it is in some respects only a consolation prize. Judge Alsup’s 2012 decision provided the community a bright line rule – structure of code is not copyrightable. Had it stood, it would have provided legal certainty, and made it procedurally easier to dismiss baseless lawsuits at an early stage.
Now when developers and innovators are sued for copying the structural elements of code, they’ll have to explain *why* their particular copying is a fair use, just like Google’s was in this case. That’s a fact intensive and potentially expensive defense to mount. The possibility that any given implementation of code might *not* be fair use could invite speculative litigation, especially against smaller companies that lack the resources to mount a defense like Google, and impose unnecessary and burdensome legal costs on software developers. For consumers, that translates to a loss when developers have to spend more time worrying about copyright law instead of focusing on innovation.
As much as we at Public Knowledge love fair use and believe in its importance, this is one case where we would have been happier had it been given a day off and Judge Alsup’s 2012 decision on copyrightability had been upheld.
Now that the trial is over, we can expect another round of appeals. As with the 2012 copyrightability decision, appeals from this trial will be heard by the Federal Circuit. Remember, because Oracle included a patent claim in its original complaint in 2010, the Federal Circuit has jurisdiction over all appeals from the case.
Oracle has two approaches for appeal. The first is to appeal a variety of procedural decisions surrounding the trial, including pre-trial motions, the jury instructions, and Judge Alsup’s rulings on objections and other evidentiary questions during the trial. These only really matter though if Oracle can prove that the decisions, if found to be erroneous, were prejudicial to its case. Given that this is actually the second time a jury has heard the fair use arguments, and that so far 23 out of 24 jurors have agreed that Google’s copying was a fair use (the first trial in 2012 ended in deadlock because the jury could not reach a unanimous decision on fair use – 11 jurors agreed that Google’s use was fair use, and only one thought that it was not), this seems like a long shot for Oracle, and its likely that a victory would only result in a third trial.
The second approach is to attack the substantive notion of whether the record of the trial could support a finding of fair use as a matter of law. Oracle already laid the groundwork for this argument by filing motions for Judgment as a Matter of Law at the end of the case (i.e. arguing that its case was such a slam dunk that the jury would obviously side with it), and can be expected to renew it following the jury’s verdict (i.e. asking the judge to substitute his opinion for the jury’s verdict). If Judge Alsup denies Oracle’s motions and lets the jury verdict stand, Oracle can appeal that decision, arguing that the trial record did not support a finding of fair use.
So stay tuned, this story might not be over yet.
Image credit: Wikimedia Commons user Bobbygammill