The Supreme Court decision in Oracle vs Google ends a decade-long nightmare for open source developers.
The decision of the US Supreme Court (SCOTUS) to reverse the erroneous conclusion of the US Federal Circuit appeals court (CAFC) that Google’s use of the Java SE API in Android was a copyright infringement comes as a great relief to open source programmers everywhere. Software developers have always assumed that merely including a function prototype in their code does not require copyright permission as it’s just a fact about the implementation.
A group of computer experts – including me – asked a US court to think again about fair use of APIs this month.
It was an unlucky fact that Oracle’s case against Google over Android started with patents. Their initial case fell apart almost immediately, with almost all the patent claims invalidated. The implausable backstop copyright case Oracle made against Android’s use of language-essential definitions in the Java APIs (and thus against the freedom of developers everywhere) carried on though. The initial patent case meant that the appeal when Oracle soundly lost ended up at the Court of Appeals for the Federal Circuit (CAFC) — the specialist patent appeals court in the USA — and not at a court competent to dispense copyright justice. Continue reading →
At the end of my testimony in the recent Oracle v Google trial in San Francisco, Judge Alsup asked me to explain what an API is. My answer aimed to simplify the answer for a general listener while remaining recognizable to most programmers. Here’s what I said.
The Java source code of OpenJDK usefully follows a layout convention. Up front of each file is a copyright and license statement. After that come a sequence of definitions of the various standard functions that complete the Java programming language. Together, a set of related definitions comprise a class library.
Each of those definitions comprise three parts. There is a function declaration, which defines the name of the function and the order and data types of the parameters used by the function. After that is a comment block with a summary of the specification for the function, tagged to allow it to be…
Last May Judge Alsup ruled that APIs are not copyrightable. Oracle was left flat on its face, even handing over $1m to Google at the conclusion of the case they had claimed would end with their own pockets being well lined. Feeling somewhat put out by this result, Oracle decided to appeal the decision on the Federal Circuit.
The case has been well covered. Almost everybody with a working understanding of the case is in agreement with the ruling. If APIs were copyrightable the software industry would be transformed in a very negative way, stifling innovation.
A number of amicus briefs have been submitted to the proceedings to make these views known, including one from the EFF, to which Meshed Insights’ Simon Phipps is a signatory. The message of the brief is clear; Oracle should not be pursuing this. Alsup’s ruling accurately reflects both industry and legal perspectives on the case.