Oracle wants to stop Android in its tracks because it alleges that the OS uses Java-related patents.
Could this be the end of Android and a retreat into proprietary mobile operating systems like Windows Phone 7?
We all knew things would change when Oracle took over Java but .. the headline says it all. Oracle is suing Google over patent and copyright infringements relating to the Android OS. The issues involved are, as always, made more difficult to work out by the complex wording of the patents.
The issue however seems to come down to implementation of the Java VM. Android uses a modified and optimised VM - Dalvik which isn't fully Java compatible for reasons of efficiency. When Sun made Java open source in the form of the OpenJDK it made the promise that companies that produced fully Java compatible systems would be exempt from its patents. However, even if the Google OS was fully Java compatible, the promise only extended to desktops and servers - not mobiles.
The wording of the Oracle press release suggests that Google knowingly infringed the patents:
"In developing Android, Google knowingly, directly and repeatedly infringed Oracle's Java-related intellectual property. This lawsuit seeks appropriate remedies for their infringement," said Oracle spokesperson Karen Tillman.
Google is claimed to have known about the patents since it hired several Sun engineers. The copyright claim is based on the use of the Java source code which is subject to copyright. It is also the case that as the core of Android is open source other programmers who have used the code are also liable.
In addition to monetary compensation Oracle seems to be asking for the Android OS to be withdrawn. If Oracle succeeds this would be an extraordinary event.
It is also strange to reflect that the only real winners from this legal move are Apple with its range of iOS devices and Microsoft with its Windows Phone 7. In fact given that the mobile world is already polarised into iPhone v the rest it really is only Windows Phone 7 that gains from a threat to the biggest of the "the rest", i.e. Android.
Of course it all hinges on the patents and most of these seem to be patents on the obvious. For example, the abstract from patent 6,910,205 - and yes it's long and complicated, but see if you can work out what it covers:
Systems and methods for increasing the execution speed of virtual machine instructions for a function are provided. A portion of the virtual machine instructions of the function are compiled into native machine instructions so that the function includes both virtual and native machine instructions. Execution of the native machine instructions may be accomplished by overwriting a virtual machine instruction of the function with a virtual machine instruction that specifies execution of the native machine instructions. Additionally, the original virtual machine instruction may be stored so that the original virtual machine instructions can be regenerated.
Basically it seems to patent the idea of compiling bits of the byte code - which to most programmers would seem to be an obvious and not patentable way of improving the efficiency of any code.
Also, see James Gosling's take on the development: http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the
Teach Yourself Android Application Development in 24 Hours
Easy Android Apps
Windows 7 Phone - developer tools in beta
Beginning Android 2
Teach Yourself Android Application Development in 24 Hours (Sams)