Google is lining up OpenJDK – an open-source implementation of the Java platform – for future Android builds.
Up until now, the mobile operating system has used a Java class library derived from the Apache Harmony project. Harmony was developed from 2005 by the Apache Software Foundation as a free implementation of Java, with the blessing of then-Java supremos Sun Microsystems. Work on Harmony ended in 2011 after Oracle bought Sun.
As you may know, Android runs apps written in Java on its Dalvik engine, and lately, its Android Runtime virtual machine.
These apps require a Java class library, as well as various Android-specific bits and pieces, to work. Now it seems the next big releases of Android will use not the heavily customized Harmony-derived library but instead OpenJDK's core libraries. Judging from this source code commit – and particularly this commit on December 18 – Google has finally taken the plunge and adopted OpenJDK for Android. The changes were spotted on Monday, and discussed on the Hacker News message board.
So what about Oracle? As mentioned above, Oracle bought Sun Microsystems in 2010, taking ownership of Java in the process. Oracle then sued Google for allegedly breaching copyright law by using Java language APIs in Android. That legal battle is still rumbling on, and has yet to be settled. Now here's a bombshell: OpenJDK is developed by Oracle. By moving to OpenJDK, Google is still using the APIs that Oracle threw a fit over – it's just now, amusingly, using Oracle's GNU GPL licensed code.
Oracle declined to comment. Google is also keeping quiet. ®