On Wednesday, the eight Supreme Court justices 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. Oracle claims that Google infringed its copyright in the Java programming language when it reimplemented the Java APIs for use by Android app developers.
The stakes in the case are high for Google, which may have to pay Oracle billions of dollars in damages. More importantly, an Oracle win could reshape the way copyright law treats APIs, giving incumbents the power to foreclose on competitors wishing to build compatible software.
For decades before Oracle’s lawsuit, most people in the software industry thought that APIs couldn’t be copyrighted. This meant that a software company could re-implement the APIs of a competing product to allow software designed to work with the competing product to work with their own.
A win for Oracle would put that into question. This would not only generate extra work for copyright lawyers, but could lead to a world where software compatibility issues arise more often in everyday life. It could also directly affect the living conditions of computer programmers, who may find that they are more often forced to learn new programming languages or other software tools when they change jobs.
It is always risky to extrapolate from the oral arguments of the Supreme Court. Sometimes judges ask harder questions to a party, but still rule for that part. However, after hearing Wednesday’s arguments, I had trouble imagining a majority of five judges accepting Google’s argument that APIs can’t be copyrighted. If Google wins, it seems likely that it is for narrower reasons, reasons that would open the door for further API copyright lawsuits in the future. Frankly, there seems to be a good chance that Oracle will prevail.
Google lawyer “did a terrible job”
In the mid-2000s, Google knew it would need a lot of developers to build apps for its future Android platform. To speed up the process, Google re-implemented the Java programming language rather than developing a new programming language from scratch. Google has written new code to run Java programs to the exact specifications of Sun’s official Java software (Oracle subsequently acquired Sun). This has allowed thousands of existing Java programmers to become Android developers without having to learn a new language.
To reimplement Java, Google needed to copy the names and argument types of functions such as java.lang.Math.max. Otherwise a Java program that uses these functions would not work on Google’s operating system. Section 102 (b) of the Copyright Act states that no one can apply copyright to “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 “manage” the Java platform by invoking them. So, Google didn’t buy 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 customers who built software for Amazon’s cloud platform could easily switch to Oracle’s rival cloud platform.
Oracle’s strategy during the ten-year legal battle has essentially been to deny that there is anything special about the API. From Oracle’s point of view, an API specification, essentially just a list of function names and argument types, is computer code that can be copyrighted like any other code. Oracle argues that if courts do away with the specific copyright protection API, lawyers could use the same arguments to weaken copyright protections for any computer program.
Judge Samuel Alito raised this concern in his first question to Google’s attorney Thomas Goldstein.
“I am concerned that, according to your argument, all computer code is in danger of losing the protection under 102 (b),” Alito said. “How does his position reconcile with the expressed intent of Congress to provide protection for computer codes?”
Arguably Goldstein’s most important task here – and in all of Wednesday’s discussion – was to convince the judges that there was an important difference between APIs and other code and that this difference had legal implications.
“He did a very bad job,” Cornell University law scholar James Grimmelmann told Ars in a telephone interview Wednesday. “At the level of nuance he was willing to enter, his case was a loser. The only way to get him to stay is to be nuanced about what it means to declare the code.”