Last weekend a few friends and I met over dinner at the beach, in Scheveningen, and amongst the various topics we discussed was the Android-Java dispute. I have no proficiency in Java and neither am I an Android user. But given my interest in Oracle and Google I thought it would be nice to understand why Oracle decided to sue Google. I will not write anything about the case itself or about the judge ruling or the arguments between the two sides. Just a little background on how / why Oracle and Google are involved, how they come into the picture!
Java dates back to the 90’s and has an interesting history. Fast forward January 2010 and Oracle acquires SUN Microsystems right under the nose of IBM, creating fear in the hearts of every member in the Java community – not without reason! Oracle – is not exactly known for charity 😉
Android is a Linux-derived operating system that has challenged Java in the mobile and embedded applications space. Initially developed by Android Inc., Google acquired the company (and developed the OS) to launch itself in the smartphone market. Google leveraged the Java developer ecosystem albeit they did not use the term Java in its description of the Android platform. Instead, Google stated to use the clean-room implementation (Clean room implementation means that the code was written only from the description and specification, but without infringing any of the copyrights and trade secrets associated with the original design) of a new virtual machine named Dalvik. Dalvik executes differently than regular Java virtual machines. A different format code specification is generated from the Java code, application developers write.
There maybe a hint of truth in Oracle’s insistence that Java was familiar to millions of developers and was an influencing factor for Google’s selection around Android. Google in turn did something in the process of defining Android – it decided to implement the APIs differently. There’s not a doubt that the intent from the start was to ensure that Android applications were incompatible with Java. But Google deserves credit. It was their move that made a defining impact. Android was a pivotal step forward for the Java ecosystem since it allowed Java developers to engage in the smartphone app industry. However, since the intent was to have a ‘Google-controlled’ future, Android proved to be a thorn in Larry Ellison’s vision of ‘Oracle-controlled’ industry. Java’s initial message of “write once, run anywhere” compatibility was not to be. Now a division / a fork / a splinter was made, which continues to grow over time into other areas of use. Android in tablets already exists, the possibility of Android PCs is not too far maybe, all leveraging the Android app ecosystem as the platform. Android without doubt is an asset to the Java ecosystem, but it has fragmented Java nevertheless.
Android differs from Java significantly in the sense that it is governed by Google and as expected, the core part is closed source. The other is that it is offered as free and open source to hardware makers, which has been a key factor in its rapid adoption. Consequently Google has not made as much money as Samsung has made for instance, but it has managed causing a disruption in the market. Google will be worried of the fragmentation as well. If companies like Amazon, Samsung and Microsoft (surprisingly) continue making money and fragmenting their market more, it is not the desired situation for Google. The threat Java is facing is that of a parallel and competitive Android-based framework that will ultimately compete with Java outside of mobile space, and make Java less attractive and relevant. This is what Oracle doesn’t like. Google may have been cheeky with what they did, but that is history! We have only the future to look to. Android is here to stay, what can they do about it? The Java versus Android landscape depends on the moves Google and Oracle will take, especially inside the next two years. Perhaps, the competitive pressures around the Java ecosystem will impact their moves.
I read two good articles on this topic. One is Oracle’s side of the story (before the judgement), and this one is Google’s side of the story (post the judgement)! Sometimes I wonder if instead of these courtroom battles wouldn’t they rather spend money to make better products, hire more people or at least support development projects!