In my previous post on what is and is not protected by copyright, I noted that the wide ranging legal battle between Oracle and Google over the Android mobile platform had yet to decide on an important issue – the copyrightability of APIs. Well, that issue is now settled, at least until the appeal; Judge Alsup in that case has ruled that – as a matter of law – the APIs in question in the Google-Oracle case are not protected by copyright in the US. His rationale for this decision has potentially a much wider scope. I would strongly recommend reading the judgement as linked above; it provides not only a good overview of what an API is (surprisingly), but it also provides a really interesting review of the history of the issue of software structure and its copyrightability in the US over the decades. Alsup’s rationale is essentially that grouped structures of function descriptions cannot be protected by copyright because they are primarily functional and not expressive; if the opposite conclusion were to be reached, API authors would enjoy a patent-like ownership of the functional structures they create:
In closing, it is important to step back and take in the breadth of Oracle’s claim. Of the 166 Java packages, 129 were not violated in any way. Of the 37 accused, 97 percent of the Android lines were new from Google and the remaining three percent were freely replicable under the merger and names doctrines. Oracle must resort, therefore, to claiming that it owns, by copyright, the exclusive right to any and all possible implementations of the taxonomy-like command structure for the 166 packages and/or any subpart thereof — even though it copyrighted only one implementation. To accept Oracle’s claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing their own different versions to carry out all or part of the same commands. No holding has ever endorsed such a sweeping proposition.
This judgement obviously has serious repercussions for Oracle, whose entire set of claims have now been found to be unenforceable, but it also provides some useful clarity on the issue of where – in software – functional ideas solidify into expression.