Monday, 12 May 2014

The needle and the damage done... Orcl vs Goog

Last week Federal Circuit overruled Judge Alsup's decision on Java API Copyrights. Minutes later tweets from Oracle employees started rolling out.


Mark Reinhold, Chief Architect of Java Platform and an engineer in Java Platform since from the very early days, was happy about the decision. However,  when I took my Android Developer hat off, even I was a bit worried about the decision. Let's go back few years which I am pretty sure Mark will also remember pretty well from his early Sun days...

In October 8, 1997 Sun Microsystems filed a suit against Microsoft for monetary damages of $35 million because of violating Java licence agreement. The real story was, just after its launch Java Applets took off and gained a huge popularity. Suddenly the web has transformed from static text pages to fancy animations. Dancing Duke logo was almost everywhere. Microsoft was very happy to adopt and integrate Java. Actually they even went further and wanted to make it better in their way which was definitely wrong and broke the compatibility between JVMs. Sun took action and sued Microsoft winning $20m, the largest cash they ever won over Java. It was a big war against an enemy and we were all happy and proud. 

However, Java did not win as we expected. We (the community) lost the applets. The moment Sun loaded their guns, Microsoft started working on .Net platform copying the whole vm, collections, code syntax and many other great ideas from Java platform. Meanwhile they also stop shipping JVM and pulled out the current deployed one. Suddenly the applet miracle has turned out to be a compatibility hell. Flash and Javascript fight to take over the place but both were not yet mature enough to fill the gap for some time.

Sun won against Microsoft but lost the whole desktop and web world. Applets and later swing has left to die and Java became a serverside language while retreating from the front end. 

Meanwhile mobile phones took off and Java once again gained a huge popularity. Java ME rocked the mobile world until iPhone was released and changed the whole mobile world. Almost all existing mobile phone, OS and platform producers were unprepared with such a fast and huge change. Symbian and all other major platforms which Java ME was deployed has died, pushing Java ME to a certain death. We can all blame iOS but the truth was Java ME did not receive any big updates to make use of the new tech hardware and put pressure on Apple or any other vendor to ship JVM with their devices. Oracle and Sun might have been left out of iOS but they haven't been in Windows Mobile either. I remember writing .Net based apps as Java developer just because I could not find a stable JVM on WM5 and WM6.

Meanwhile Google bought Android and launched another mobile ecosystem striking back far from behind. Unlike iOS, this platform was much more Java friendly. There were no JVMs but still there were some compilation tricks to make the developer feel that they were just writing Java code. Android became the only real survivor from the iOS revolution and became a huge player.

We may argue if Google did the right thing with creating another JVM standard or not but there is no doubt that they kept the Java community and the ecosystem alive by providing a mobile platform which uses Java language and JVM for development. Thanks to Android (and GWT), many developers installed JVM, Java tools and continue writing Java code. Believe it or not Google had a huge role on keeping Java and its community alive and health. Without Google's non-JVM Java products such as Android and GWT, Java might have already became the new Cobol being trapped on serverside only.

Today, with the latest ruling, Google can just walk away from Java language. Android is already huge so whatever language Google chooses to continue with will be accepted by the community no matter if they like it or not. However, taking Java out of Android will be the end of Java in the mobile world, lowering number jdk/jre installs, usage of java and damaging the ecosystem with a real fork this time unlike the current virtual one.

Finally back to tweets, Donald who is an OpenJDK guy and whom I also know from his previous work in eclipse send the following tweet...

Definitely Oracle will make a huge cash from this ruling but for the sake of loosing a big part of the ecosystem. I just wish at least community guys at Oracle would care more about the community than Orcl shares.

I personally believe APIs should not be copyrighted but let's forget what I, Oracle or the judges believe... This will be the end of Java on mobile forever! 

Ohh unless Oracle really thinks they can survive with JRE on Raspberry Pi...

p.s. There is no typo in the title, since this war only about money I though it makes sense to use the stock exchange symbols instead of full company names.