Google and Oracle’s argument before the Supreme Court last October left opponents of API copyrights extremely nervous. For the previous decade, Google had been arguing in lower courts that it didn’t infringe copyright law when it re-implemented Java for use in Android. Google had lost—twice—at the appellate level.
Last October, justices for the nation’s highest court seemed skeptical as well. Not only were they asking Google’s lawyer, Tom Goldstein, a lot of tough questions, a number of them didn’t seem to even understand what an API was. That seemed like a bad sign for Google because the distinction between code that declares an API and code that implements it was fundamental to Google’s argument.
In an interview with Ars just after the oral argument, Cornell legal scholar James Grimmelman argued that Goldstein had botched the case.
“He did an abysmal job,” Grimmelman told me. “At the level of nuance he was willing to get into, his case was a loser.”
But Grimmelman now admits he was wrong. “I owe an apology to Tom Goldstein,” he told me on Monday. “I had my criticisms of the job he did at oral argument, but he did a good enough job to win.”
By a 6-2 vote, the nation’s highest court held that Google’s copying of Oracle’s Java API was fair use. The ruling means Google won’t have to pay billions of dollars in damages to Oracle. It also has huge implications for the broader software industry.
“It’s a minor miracle we got an opinion that reached the right result with pretty sound reasoning despite not one of the justices being able to explain how an API works,” Grimmelman said.
An unexpected focus on fair use
Prior to the ruling, Microsoft filed an amicus brief urging the Supreme Court to side with Google. The brief, which was cited in Monday’s ruling, provides one of the best explanations of the stakes in the case.
“Developers rely on sharing, modifying, and enhancing previously developed code to create new products and develop new functionality,” Microsoft wrote. “Both a cause and effect of this collaborative development is the increased demand for seamless interoperability and compatibility—i.e., the ability of different products, devices, and applications to communicate and work together without effort from the consumer.”
If APIs became subject to copyright protection, it would become much easier for an incumbent software provider to lock its customers into a proprietary standard. That would create more compatibility headaches for consumers, and it would make it harder for software startups to break in to established software markets. Opponents of API copyrights also warned that a ruling for Oracle could unleash a flood of API copyright lawsuits similar to the patent troll lawsuits of the last 20 years.
Opponents of API copyrights were hoping that the Supreme Court would declare that an API can’t be protected by copyright at all, making such lawsuits impossible. Oracle, of course, was hoping the Supreme Court would reach the opposite conclusion. But as it often does, the Supreme Court chose to take the case in a different direction.
The high court was actually considering two different questions in the case. Google not only argued that APIs can’t be copyrighted, Google also argued that its use of Oracle’s Java API was legal under copyright’s fair use doctrine. The Supreme Court decided to skip over the first question and focus on the second one.
“Given the rapidly changing technological, economic, and business-related circumstances, we believe we should not answer more than is necessary to resolve the parties’ dispute,” Justice Stephen Breyer wrote in his majority opinion. “We shall assume, but purely for argument’s sake, that the entire Sun Java API falls within the definition of that which can be copyrighted.”
In other words, the Supreme Court didn’t provide any guidance on whether an API can be copyrighted—the main question everyone expected the court to answer. Instead, the court ruled that even if APIs can be copyrighted, Google’s copying was protected by fair use.
Google went four for four on fair use
As regular readers know, fair use is one of the most important ideas in copyright law. It allows a news site like Ars to blockquote a paragraph from another publication for purposes of commentary and criticism. It allows consumers to record broadcast television shows for later viewing and to transfer legally purchased music between personal devices. A number of Google products rely on fair use, including thumbnails in Google Image Search and scanning for Google Books.
Courts consider four major criteria when decided whether a use is fair. The party that wins on a majority of these factors usually wins the case. In Monday’s ruling, Justice Breyer concluded that all four of these factors point in Google’s direction.
- One factor is the nature of the original copyrighted work. Some types of work get stronger copyright protection than others. Creative works like novels get stronger protections (and hence stricter limits on fair use) than utilitarian works like dictionaries or phone books. In Justice Breyer’s view, the code that defines an API is more like a dictionary than a novel. “The declaring code is, if copyrightable at all, further than are most computer programs from the core of copyright,” he wrote.
- Another factor is the purpose and character of the copying. Copying is more likely to be fair if it is “transformative”—if it’s used to do something new or innovative. The high court pointed to two common reasons people copy APIs: the desire to ensure interoperability between software products and the desire to enable programmers who learned skills on one platform (in this case the Java language) to re-use those skills elsewhere (like making Android apps).
- The third factor is how much material was copied. Google took 11,500 lines of code—mostly function declarations—from Java. That might sound like a lot, but Justice Breyer pointed out that this was a tiny fraction of the 2.8 million lines that make up Oracle’s official Java implementation.
- The final factor is the effect of the copying on the market for the original work. Oracle argued that Google’s copying had undermined Oracle’s business licensing the Java platform to other tech companies. But Justice Breyer wasn’t persuaded. He noted that Sun had struggled to gain traction in the mobile phone market in the years before Google launched Android.
Google didn’t need to win on all four of these factors in order to beat Oracle. But the fact that Google did win on all four will be important to future defendants, since it gives them a greater margin for error. Even if a defendant can’t show that their API copying was exactly like Google’s, they’re still likely to prevail if they can convince a court that their use was similar to Google in at least three of these four areas.