In a crucial courtroom decision involving Google v.s Oracle, the United States Court of Appeals for the Federal Circuit ruled in favor of Oracle. The main part of the appeal is whether Oracle can claim copyright on Java APIs and if Google infringed that copyright. If the ruling stands, it would create a major setback to innovation and collaboration.
The Electronic Frontier Foundation has a great write up on the ruling and the implications it could have for the internet.
The implications of this decision are significant, and dangerous. As we and others tried to explain to the court, the freedom to reimplement and extend existing APIs has been the key to competition and progress in both hardware and software development.
It made possible the emergence and success of many robust industries we now take for granted—for mainframes, PCs, workstations/servers, and so on—by ensuring that competitors could challenge established players and advance the state of the art. In other words, excluding APIs from copyright protection has been essential to the development of modern computers and the Internet.
Between 2004 and 2009, which I consider to be the crazy Web 2.0 years, the one commonality among all of the services was their APIs. The APIs enabled sites, services, and applications to creatively use the data to create mashups. In June of 2005, Google released a publicly available API to their Google Maps product. The API ignited a flurry of creative new ways to use and display the data. The ruling would prevent open innovation from happening without explicit permission to use API calls.
Automattic Takes The Pro-Active Approach
Automattic, the parent company of WordPress.com, has taken a pro-active approach. On May 12th, Automattic changed their guidelines to specify that their APIs are not copyrighted.
One more thing – APIs like ours enable the kind of collaboration that makes the Internet great. We don’t think APIs are copyrightable subject matter, and don’t claim copyright in our APIs.
In the section of the the document discussing intellectual property, Automattic clarified they do not claim any copyrights to their APIs that may arise under US law.
3. Intellectual Property. [The Automattic APIs are subject to certain intellectual property rights in the US and other countries (though Automattic does not claim copyrights in the Automattic APIs that may arise under US law). You agree to abide by such rights, all applicable laws, and any additional copyright notices or restrictions to which any Content is subject.]
Although innovation wouldn’t cease completely with copyrighted APIs, it would be more difficult thanks to the red tape involved. Patent trolling is already a serious problem and if the court ruling stands, API copyright trolls would probably be the next big thing.
Google will likely file an appeal to the Supreme Court and there is a long way to go before the case is over. Regardless of the final ruling, the Automattic APIs are copyright free. Hopefully, other service providers take the same pro-active approach.
I’m only part-way through the decision, but it doesn’t appear to have anything at all to do with making API calls; rather, it has to do with Google incorporating implementing API code from Java into Android.
In other words: Google wasn’t merely calling a Java method using Java’s API (e.g.
max( $var1, $var2 )); rather, Google actually copied the code to implement its own
Basically: Google didn’t want to open-source its own code (so it couldn’t utilize the Oracle GPL license for the APIs) and didn’t want to ensure interoperability with the JavaVM (so it couldn’t get certification to use Oracle’s commercial license) – so Google instead just copied the Java API code and incorporated it wholesale into Android, as Android APIs.
To make a WordPress analogy: this case appears quite similar to Thesis 1.8, which had to be rewritten because it was found to have incorporated core WordPress implementing code.
This decision, and Automattic’s subsequent announcement, are indeed interesting; in part, because what courts consider to be “APIs” and what developers consider to be “APIs” aren’t necessarily the same thing.