Tag Archives: protocol

Copyright on APIs and header files?

[US] Supreme Court won’t weigh in on Oracle-Google API copyright battle (Ars Technica) – Lower court to decide if API utilization is copyright infringement or fair use.

The dispute centers on Google copying names, declarations, and header lines of the Java APIs in Android.

This is such a bad idea.  APIs (Application Programming Interfaces) are fundamental to interoperability – they describe how two programs, or a program and a function library, or a program/library and an operating system kernel, or two distant computers, can interact.

Years ago some people were trying to make an argument that communication through a published protocol (remote API) constituted “linking” – that is, an application would be regarded as being linked with (for instance) a database server through the mere act of talking to it. Linking in programming is generally combining an application with libraries in a single package, and in licensing it has a special meaning. The GPL (GNU General Public License) and others “kick in” when a program is linked – that is, any linked components must be compatible with the license.

To give you an idea of how stuffed the idea of regarding protocol/API communications as linking is, it would mean that a web browser (say Internet Explorer) is linked to Apache web server through the HTTP protocol. Aside from becoming a licensing quagmire, it was just beyond daft.

The reason I bring this up is that essentially, the Oracle lawsuit tries the same again, via a slightly different route. The results are very similar.

Note that of course this is just a legal case in USA, but I do hope that the lower court finds that it’s at least within “fair use”. It could still be problematic because other countries don’t have equivalent fair-use built in to their copyright legislation. Thus, if Oracle (or others) were to pursue this same topic in other jurisdictions, it’d be very messy.

The concept of an API is not specific to computer programs. Companies have business processes (for interacting with other companies and individuals), which perform exactly the same tasks. Think of the flow of a quote, purchase order, delivery, invoice, etc. Would it be sensible to copyright an “implementation” of that, and thus potentially see someone decide whether you can use it, and if so, for what fee?

There are standards and arrangements for almost everything around us – letters fit in mailboxes, cars fit on our roads and parking lots. Those are both interesting examples because we know that some cases don’t adhere to these boundaries and it causes trouble. A car can be way too big for common parking spots.

In a nutshell, I reckon that if this were to be upheld, the law needs to be adjusted. It’s neither practical, nor beneficial to our society or economy.