The last word has been sung in the Oracle vs Google regarding Android’s usage of Java’s open sourced APIs. If you haven’t been tracking this news, then you should have been, since the repercussions may impact your company’s usage of open source as well.
In this post I will lay bare the twists and turns of the case, and how it may impact your decision to use open source APIs in the future.
It’s interesting why Sun chose to use a GPL license compared to permissive open source licenses such as Apache, MIT or BSD. It was probably a deliberate decision by Sun to ensure commercial companies will not gain profit from their efforts and ensure they will ‘give back’ to the open source community (and only to the open source community). That aside, all seemed well with Java and the open source community, until a spectre appeared upon the horizon when Oracle acquired Sun (and with it Java) in 2009.
Back in Android’s early days, Google implemented 37 Java APIs into its Android SDK to encourage as many Java programmers as possible to contribute to its Android OS.
Following Oracle’s acquisitions of Sun, the software giant seemed to have no problem with Google’s implementation of Java’s APIs, however all that was set to change. After Oracle had failed to break into the smartphone market, and a reportedly fractious meeting between Larry Ellison (then Oracle CEO) and Google where a business relationship failed to materialise, relations began to sour.
So, with Oracle smartphones dead in the water, Android smartphones doing a booming business for Google and no team-up of Oracle – Google insight, Oracle did what any reasonable software giant suffering at the hands’ of their competitor would do, they sued Google for infringing its copyrights when they implemented Java’s APIs into Android. Oracle not only sued Google, they did in style, for a cool $9 billion; which was Oracle’s estimation of the revenues generated by Android to that date.
So with the stage set for an almighty showdown between two tech-powerhouses, Google and Oracle went to have their day(s) in court.
The first trial in 2012 finished with a clear victory for Google with the judge finding Java APIs are not copyrightable, meaning that software could use its APIs without paying Oracle a licensing fee. Oracle did not back down and appealed in 2014 to the Federal Circuit. It found that APIs are copyrightable, yet they can be copied in cases of ‘fair use’. What this means is that companies can either license their APIs and charge others to use them, or they can sue if their APIs are copied and used ‘unfairly’.
Thankfully, in Google & Oracle’s last legal encounter in 2016, Google’s use of Java APIs was found to fall under ‘fair use’, as the court decided software which allows communication between different applications and platforms does not require a copyright. However, the legal definition of ‘fair use’ is purposefully vague in order not to limit its scope and to protect freedom of speech. This means that the 2016 court’s interpretation of ‘fair use’ may be called into question somewhere down the line.
However, I can see you scratching your heads as to why Oracle were able to cry infringement in the first place regarding open source APIs? After much research, I have to admit I am still a little confused. In the course of the 2012 trial, Jonathan Schwartz, Sun’s CEO at the time of Google’s implementation of the disputed APIs, explained that his company didn’t sue Google because “we didn’t feel we had any grounds.” In my opinion, Oracle was trying to rewrite the rule book regarding the non-copyrightable nature of open source APIs in order to gain profit from the smartphone market which they had failed to capitalize on.
Well, I am sorry to say that potentially the outlook for open source, and, in particular, open source APIs is not encouraging. For over three decades open source has spearheaded the innovation and agility we see in software development today. Furthermore, open source APIs in particular have enabled developers to create whole ecosystems around their products. However, Google v Oracle could put all this at risk. Why?
It appears that even if you are in full compliance with your open source licenses, now based on this verdict, there might be still room to worry about possible litigation as there’s a chance your use of the APIs falls under copyright. As a result, it is likely that developers will be put under even more pressure by legal consuls regarding their usage of open source. All this means companies may be too afraid to use open source APIs, which sets us back instead of helping our industry move forwards towards greater open source adoption.
Furthermore, due to other jurisdictions, like the EU, recognizing that functions allowing interoperability are not subject to copyright, US software development may suffer at the hands of its foreign competitors. Consequently, instead of moving forward and making it easier to harness open source in software development, the 2014 verdict makes the whole process more frustrating.
Undoubtedly the freedom to re-implement and extend existing APIs has been central to the progress of software development, just take the Unix API for an example. The Unix API was originally developed by AT&T’s Bell Laboratories in the 1970s for the Unix kernel, it was then implemented by Linux, which meant it could run Unix programs as long as the API remained the same.
When APIs can be freely distributed and called upon, developers are able to create compatible software that the original author may not have even dreamed of. Furthermore, APIs enable users to switch platforms and services as they wish, and indeed they can rescue software or data systems whose creators, for whatever reason, have abandoned their project. By the decision to make open source APIs potentially subject to copyright, the innovation promoted by open source APIs may be lost.
I believe, due to the essential function that open source APIs play in modern software development, it doesn’t look like a lot is going to change, in the short-term at least.
However, I feel this issue is far from over. Undoubtedly, due to the double-edged sword of APIs both being copyrightable and by best practice replicable, we will probably be revisiting this issue in court somewhere down the line.
Even if the courts once again choose to uphold the Federal Circuit’s 2012 decision, this will not change programming practice, unless the loss suffered is on the scale of the amount Google risked losing earlier this year. If this does happen, you’ll see developers running for legal counsel and, if not wholesale abandoning open source, they will become warier when utilizing it in the future.
Yet, I for one hope that this issue does again get its day in court in order for reason to reign and the original 2012 ruling to stand. After all, what’s the point of having a smartphone if you aren’t able to run any applications on it. In that case it’s just a phone, and no one wants to buy that.