TAB Option 2 Delete

Page Two TAB Articles by Geoffrey Goetz

Oracle Sues Google over Java – Objective-C Unaffected

Oracle vs GoogleApple created a huge development ecosystem that brought developers to Apple’s iOS and Objective-C programming language.  Many corporations started taking mobile development more seriously as the number of users grew to astounding numbers.  The iOS platform quickly became a staple development platform.  Now Google is trying to convince that same community of developers that it’s platform is the second coming.  The adoption of the Android platform by users has caught up and surpassed that of iOS.  But app development in the Android Market Place had not exactly followed suit.  Revenues on the iOS platform have not been worth sacrificing by spending time on Android development.  Until recently.  As more developers start targeting Android, the frequency of updates, new features, and even the release of new iOS apps will begin to slow down.

It should therefore be no surprise that Oracle timed the filing of its law suit against Google shortly after Android passed iOS in smart phone market share, and shortly after Google announced its plans to generate billions of dollars off of the Android platform.  In a move similar to Apples move to protect its intellectual property when it sued HTC over patent infringement, Oracle, the current owner of Java, has sued Google over its use of Oracle’s intellectual property.  Given that iOS and Android are direct competitors in the smartphone marketplace, and all app development on Android allegedly uses Oracle’s intellectual property, anything that affects Android negatively can and will affect iOS positively.

Jonathan Schwartz may have know that this day was coming when he wrote in his farewell memo to the employees of Sun stating that “every employee needs to emotionally resign from Sun. Go home, light a candle, and let go of the expectations and assumptions that defined Sun as a workplace. Honor and remember them, but let them go.”  Sun Microsystems’ corporate culture had a very different attitude concerning the licensing of one of its most valuable technological assets, Java. One may say that Sun’s open culture influenced one of its former employees, current Google CEO Eric Schmidt, to make the Android operating system open. All that has changed as Larry Ellison now owns Java. It is not that Oracle does not see the value in Java, it most certainly does. And counter to Google’s philosophy when it comes to technology, where there is value, there should be revenue. Especially when it comes to mobile platforms.

There is one technical glitch, Android claims that it does not use Java, it uses Dalvik. So what is Dalvik? No, it is not a fishing village in Iceland (well yes it is, sort of). The best way to explain the difference between Java and Dalvik as it pertains to Oracle and Google is to use an analogy comparing it to the differences between UNIX and Linux.  Java is a programming language that got its start at Sun Microsystems back in the 1990’s. This programming language needs to be compiled into bytecode in order to execute. This bytecode then runs within a virtual machine. It is the Java Virtual Machine that is akin to UNIX. Dalvik is also a virtual machine similar to Java’s virtual machine. The Dalvik virtual machine would be akin Linux in this analogy. The Dalvik virtual machine is fundamentally different in its design from the Java Virtual machine, but they are both still virtual machines.

And here is where things get a little funny. There is a tool that takes Java compiled bytecode (which would normally run in the Java virtual machine) and converts it into a different instruction set which is used by the Dalvik virtual machine. The same Java source files are compiled into the same Java bytecode which is then transformed to work on a different virtual machine.  So technically, on each Android device, there is no Java bytecode, and there is no Java virtual machine installed.  No physically installed, copied or otherwise distributed Oracle Java product on the device at all.  That does not necessarily mean there is no Oracle enabled technology involved.

So why is Oracle chasing Google over Java on mobile platforms and not Apple and other operating system developers on desktop platforms?  While it is true that Sun did make Java Open Source via the OpenJDK, it appears that this only applies to the Standard or desktop Edition, not the Mobile Edition. And this is where Oracle hopes to make its claim on Google and in turn any Android manufacturer. But is it even the same Java source code? It is important to understand that Dalvik uses a subset of the Apache Harmony Java classes, an effort which essentially re-wrote the necessary Java classes from scratch.  So what part of anything truly Java is on Android to begin with?

What appears to be in question is whether or not any of the Harmony sources can be used on mobile platforms, and wether or not Google’s attempts to utilize the Java Language, not the virtual machine, on a mobile platform in any form violates the intellectual property now owned by Oracle.  So long as there are still 24hrs in a day, developers will have to choose which platform they spend their time on.  If you are a developer looking to port your existing inventory of lucrative iOS apps over to the growing Android platform, you may want to delay that decision a little while longer as the dust settles and analysts evaluate the merits of this law suit.

August 13, 2010 Posted by | Commentary, Development | , , , | Leave a comment