Are APIs Protected By Copyright? – Google v Oracle
In the Google v Oracle dispute, the Supreme Court rejected Google’s application to have the case reheard to determine whether Google made fair use of Oracle’s copyrighted APIs.
This dispute began in 2012, when Google, creator of the Android operating system for mobile telephones, made use of Oracle’s Application Programming Interface (API). Oracle created the Java programming language, and the question concerned whether the API is protected by copyright. If so, then Google was not free to make use of it without Oracle’s permission.
– What is API?
To appreciate the implications of the case, a basic understanding of APIs is necessary. Broadly speaking, an API is a language a programmer can use to talk to a system. It has a list of commands which can be issued to it.
For example, the API for a graphics application could include the commands “Draw a rectangle” and “Draw a circle”. Two different systems might have a different underlying mechanism for drawing a rectangle, for example, system A might draw a rectangle dot by dot starting from the top left corner, while system B might do it in four steps, drawing each side one line at a time.
Despite these underlying differences, if both systems A and B understand the same set of commands, such as “Draw a rectangle” command, then a piece of software written for system A will also run on system B.
– The dispute
Turning back to Google and Oracle, the Java APIs owned by Oracle are sets of commands, which can be understood by a whole host of different systems. The advantage being that there could be no need to write different versions of the same software for different platforms. So, the same app might run just as happily on your Mac as on your PC.
Google, when developing the Android operating system, built it to use the Java APIs. This meant that some existing software could function more easily on their new platform, and many developers were already familiar with Java so could get started writing software for Android without a steep learning curve. Although Java and Android accept the same instructions, the underlying code, by which they execute those instructions, is not the same.
Oracle argued that its Java API is protected by copyright, and that Google was not authorised to use it without permission. Google, on the other hand, argued that the Java APIs are simply a way to work with a system, and should not be protected by copyright.
– Court’s decision
The US courts initially sided with Google, finding that the Java APIs were not copyrightable. However, upon appeal a federal court overturned the earlier ruling, and said that the APIs were protected by copyright.
Now that Google’s request that the Supreme Court hear a further appeal has been rejected, it is firmly established that in the US APIs are copyrightable.
According to the Electronic Frontier Foundation, the latest ruling in favour of Oracle gives tech firms “unprecedented and dangerous power” over developers by making it substantially more difficult for upstarts to create new software.
However, according to @FOSSpatents, the Supreme Court is right to reject Google’s application, on the basis that there is nothing so special about the subject that Google’s petition for writ of certiorari (request for Supreme Court review) in Oracle’s Android-Java copyright case should be granted.
The legal position on this side of the Atlantic, however, is not the same.
Position under EU law
In SAS Institute and World Programming (WPL), the ECJ held that the functionality of a piece of software, or the programming language it uses, is not protected by copyright. According to Ars Technica, the case decided that APIs are not eligible for copyright protection because this would ‘monopolise ideas’
However, the cases covered quite different issues. Functionality and programming language are not the same as an API. Android and Java are different programming languages but use the same APIs.
When Google initially wanted to use Java, they were unable to do a deal with Sun because they didn’t want to pay licence fees. So, they decided to write their own language and base it on Java. To do so they lifted Oracle’s APl. They didn’t merely look at it in order to create their own version without any direct copying. They used the API itself, and yet made Android incompatible with Java. By not making Android interoperable, they cut out one of the defences that might otherwise have been available to them.
On the basis that we are not comparing like with like when looking at these two cases it would be interesting to having a ruling from the EU on the same facts. In the meantime, given that most APIs that people might want to use are US based, in practice the US ruling is the one that people would need to heed if they wanted to use an API.