The Department of Justice recently filed an amicus brief advising the Supreme Court not to hear an appeal by Google in a major copyright case. The case originated when Oracle sued Google over the copying of Java APIs in the creation of the Android platform. In 2012, a court had originally ruled that APIs were not copyrightable, but last year an appeals court reversed the decision and ruled that APIs were copyrightable because they were not different from any other lines of code. Google has since filed a petition with the Supreme Court to review the ruling by the appeals court, but the intervention by the DOJ has greatly reduced the chance of the Supreme Court hearing the case. Generally, the Supreme Court looks to the solicitor general for guidance when deciding whether or not to hear a case.
To people without a programming background it may not be entirely clear what APIs are or what the significance is if they can by copyrighted or not. API stands for application programming interface, and it is essentially a protocol for 2 different pieces of software to communicate. If you wanted to, for example, round a number decimal to the nearest whole number, you don't need to worry about implementing that functionality yourself. The Java platform already has a rounding function you can use. The API defines what the function is called, what parameters need to be passed in, and what kind of result you get back. The specific implementation of how that function arrives at its result is not part of the API.
When Google was developing the Android platform, they decided to basically reimplemented the entire Java platform. They coded from scratch many of the useful functions from Java, which is fine legally. As long as the implementations are coded from scratch and not copied there is no copyright violation. Although the implementation for those functions were original, the APIs were copied from Java, which is where Google is now getting into some trouble. Using the same APIs as Java offered some benefits, as it would be easy for Java programmers to code on this new platform. Many of the basic functions worked identically to how they worked under Java.
The problem for Google is that by using the same APIs as Java, several hundred lines of code in the Android platform are copied directly from Java. Oracle contends that this constitutes a copyright violation, and the appeals court overseeing the case agreed. Google and numerous others in the software industry contend that APIs are purely utilitarian and functional and not creative, and for this reason they should not be protected by copyright. Many in the industry are also concerned with the effect this ruling could have on software development as much innovation and collaboration in the industry is based on the widespread use of common APIs.
The story isn't over yet. Even with this amicus brief by the DOJ, there is still a possibility the Supreme Court could hear the case. Even if they don't, the appeals court left open a possibility that Google may be able to make use of the APIs without paying Oracle. The court stated that its possible that this use of APIs may fall under fair use, and sent the case back to the lower court to decide on that matter.
Do you think Google should have to pay Oracle for the usage of their APIs? Leave your comments below.