Tuesday 23 August 2011

Oracle's Java Copyright Claims: The Sky Is Not Falling

There is no question that software can be subject to copyright and there is no question that an Application Programming Interface ("API") is software, so why are people up in arms over Oracle claiming copyright over their Java APIs? A lot of industry commentators seem to think that when a company relases an API it is in the public domain and not subject to copyright. In actual fact, however, APIs are generally released subject to licensing restrictions (see the link below to license restrictions for one of Google's popular APIs) and the enforceability of these restrictions depends on the API being subject to copyright.

An API, at its lowest level, is a specification of how different peices of software communicate. It may include things like specifications of the format of data that a peice of software expects and the names of functions that can be performed on that data. At a higher level, APIs include specifications of what the named functions do to data. APIs allow a piece of software to utilize other software without knowing the details of how that other software operates.

To give a grossly simplified illustration for any readers who are not software developers, if a car's engine is a piece of software, looking at the engine you would be able to determine how it is mounted, where gas, oil, air and electricity enter it, and where the transmission has to connect in order to get the tires moving. With that limited knowledge (and some other basics), a car manufacturer can build a new car to accept an engine from any other car in its fleet, or it can build a new car built around an engine licensed from another company without having to know every detail of the inner workings of the engine. Similarly, a software developer can build software that utilizes another developer's software though its APIs without the API developer divulging the inner workings of its software.

For its Android operating system, Google allegedly copied Oracle's Java APIs to create a system that resembles Oracle's Java but runs on Android. According to the reports that I have seen, Google did so without access to the inner-workings of Java but instead worked from the API to create a largely compatible system. The stakes are high here as Java is one of the most popular programming languages around and Google's Android operating systempowers millions of smart phones, tablets and other devices.
In my attempt this morning to find some legal analysis of the Oracle Google API issue, I was surprised to find nothing but rhetoric about how a finding that APIs are subject to copyright would mean the end software interoperability. This is pure hyperbole. What it would end is reverse engineering that is intended to replace the API developer's software. This could actually eliminate a disincentive for developers to release their APIs because they would not need to worry that they are giving their competitors a road map to their product. I am unable to see what is wrong with that. API developers would be still be able to relase their APIs under a license tailored to support specific uses of the API and prohibit others. This is common practice among API developers (including Google, see section 10 of the license linked below).

Sources
Oracle, The Java Language Environment http://java.sun.com/docs/white/langenv/Intro.doc2.html
TIOBE Software, TIOBE Programming Community Index for August 2011 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Google Maps/Google Earth APIs Terms of Service http://code.google.com/apis/maps/terms.html

The views expressed in this blog may not be consistent with those of McCarthy Tetrault LLP or its clients. The information provided here is for educational purposes only. Every legal issue is unique, please contact an expert if you think you might need legal advice.

No comments:

Post a Comment