The Supreme Court’s eight justices on Wednesday seemed skeptical of Google’s argument that application programming interfaces (APIs) are not protected by copyright law. The high court was hearing oral arguments in Google’s decade-long legal battle with Oracle, a battle that stretches back to 2012. Oracle argues that Google infringed its copyright in the Java programming language when it re-implemented Java APIs for use by Android app developers.
The stakes in the case are high for Google, which could owe Oracle billions of dollars in damages. More importantly, an Oracle win could reshape how copyright law treats APIs, giving incumbents the power to lock out competitors who want to build compatible software.
For decades prior to Oracle’s lawsuit, most people in the software industry assumed that APIs couldn’t be copyrighted. That meant a software company could re-implement the APIs of a competitor’s product in order to enable software designed to work with the competitor’s product to work with its own.
A win for Oracle would call that into question. That would not only generate extra work for copyright lawyers, it could lead to a world where software compatibility problems crop up more often in everyday life. It could also directly affect the livelihoods of computer programmers, who might find they are more frequently forced to learn new programming languages or other software tools when they switch jobs.
It’s always risky to extrapolate from Supreme Court oral arguments. Sometimes justices ask one party tougher questions but rule for that side anyway. Still, after listening to Wednesday’s arguments, I had trouble imagining a five-justice majority accepting Google’s argument that API’s cannot be copyrighted. If Google wins, it seems likely to be on narrower grounds—grounds that would open the door to more API copyright lawsuits in the future. Frankly, there seems to be a good chance that Oracle will prevail.
Google’s lawyer “did an abysmal job”
In the mid-2000s, Google knew that it would need a lot of developers to build apps for its forthcoming Android platform. To speed up the process, Google re-implemented the Java programming language rather than developing a new programming language from scratch. Google wrote new code to execute Java programs according to the exact specifications of Sun’s official Java software (Oracle subsequently acquired Sun). This allowed thousands of existing Java programmers to become Android developers without having to learn a new language.
To re-implement Java, Google needed to copy the names and argument types of functions like java.lang.Math.max. Otherwise a Java program that used these functions wouldn’t work on Google’s operating system. Section 102(b) of the Copyright Act says that no one can copyright an “idea, procedure, process, system, method of operation, concept, principle, or discovery.” Google concluded that functions like Math.max are “methods of operation” because programmers “operate” the Java platform by invoking them. Hence, Google didn’t purchase a license from Sun, leading to a lawsuit a few years later.
This is a widespread practice in the software industry. Oracle, for example, re-implemented Amazon’s S3 API so that customers who built software for Amazon’s cloud platform could easily switch to Oracle’s rival cloud platform.
Oracle’s strategy throughout the 10-year legal battle has been to essentially deny that there is anything special about APIs. In Oracle’s view, an API specification—essentially just a list of function names and argument types—is computer code that can be copyrighted just as any other code can. Oracle claims that if the courts strip API specifications of copyright protection, lawyers could use the same arguments to weaken copyright protections for any computer program.
Justice Samuel Alito raised this concern in his first question to Google’s lawyer, Thomas Goldstein.
“I’m concerned that under your argument, all computer code is at risk of losing protection under 102(b),” Alito said. “How do you square your position with Congress’s express intent to provide protection for computer codes?”
Arguably Goldstein’s most important task here—and throughout Wednesday’s argument—was to convince justices that there was an important difference between APIs and other code and that this difference had legal implications.
“He did an abysmal job,” Cornell University legal scholar James Grimmelmann told Ars in a Wednesday phone interview. “At the level of nuance he was willing to get into, his case was a loser. The only way to make it stick is to be nuanced about what it means to declare code.”