Android Devices Threatened by Oracle Java APIs?
I could make a snide remark about Java. Do you know an IT professional? Ask them what they think of Java. Java is a software platform originally written by Sun Microsystems and released in 1996. Oracle later bought Sun and along with it came Java. Java is used in billions of devices and allows applications to be run in an environment walled off from other applications. This provides for a secure operating environment and allows for cross-platform use (think Windows, Linux, Mac, etc.). With an easy to use programming language and interfaces, Java has been extremely popular amongst application developers for several decades.
The interfaces I mentioned earlier? Those would be referred to as APIs or Application Programming Interfaces. APIs are a common part of software platforms. They allow developers to build applications using a well-defined set of operations, inputs and outputs. The use of Java APIs are a key point of the case of Oracle v. Google.
APIs consist of two types of code – declarations and implementation code. Declarations identify the method as well as inputs for that method. For example, a method may be “Average” and have inputs of x, y and z where x, y and z are all numbers. In the world of programming, you typically declare a method with a name, the type of method and its inputs. This is standard programming 101.
This is where Google comes in – as part of the Android operating system, Google created its own version of Java. However, in order to allow developers to utilize the same API that they have used to interact with Java applications, Google used the same API definitions that Oracle’s Java uses.
Oracle took issue with the implementation of their APIs in the Android version of Java. A lawsuit took place and in 2012, the jury found that APIs are not copyrightable. The key to the finding is whether or not Google could have written their APIs in a different manner while providing the same functionality. The judge in the case ruled that APIs cannot be subject to copyright. Google could not have written their version of the API any differently while still making it compatible with Java. Thus, the court ruled on their side.
Oracle appealed the 2012 judgement and the case went to the Federal Circuit court. In May 2014, the appeals court ruled that APIs were copyrightable and that Google had infringed on Oracle’s copyright. However, the court remanded the case back to the district court to determine if Google’s use of the API declarations were considered fair use. In May 2016, a jury decided that the APIs were fair use. Oracle plans to appeal the decision – it will likely be another bit of time before we have a final decision on this case.
What’s at Stake?
If Google were to lose this case, it will set a dangerous precedent in the world of application development. APIs are everywhere – it’s what lets your computer talk to hardware devices such as USB drives and printers. It’s what lets developers create games and apps for social networks such as Facebook. It’s what lets people create cool Google Maps mashups and applications. How about social sharing like the Pinterest or Twitter buttons you find on websites? Those are all examples of applications built using APIs.
If Oracle wins this case, it could stifle creativity in the development community for fear of being sued over using something as simple as an API.