IcedRobot Android fork seeks to preclude Oracle litigation
Feb 9, 2011 — by LinuxDevices Staff — from the LinuxDevices Archive — 4 viewsAn “IcedRobot” project aims to develop a version of Android that will be beyond the reach of Oracle's lawsuit against Google regarding use of the Dalvik Virtual Machine. By adopting the OpenJDK implementation of Java, the project will further separate Dalvik from Android and create an Android variant that will be suitable for running on desktop PCs.
A team of savvy Java developers is working to fork Android to have a safe and open implementation of the Android stack in case Oracle prevails in its litigation against Google for allegedly infringing Oracle's Java patents in the creation of Android.
In a project known as IcedRobot (logo at right) Mario Torre, a software developer at JPMorgan Chase, and David Fu, an engineer at Opera Software, are leading a small team to build a Java Virtual Machine (VM) for Android that is based on the open-source OpenJDK implementation of Java. Android's Dalvik VM — which acts as an intermediary of sorts between Android apps and the underlying Linux kernel and other Android code — instead uses the Apache Harmony codebase claimed by Oracle.
Fu and Torre presented their IcedRobot ideas to a packed crowd at the Free and Open Source Software Developers' European Meeting 2011 (FOSDEM XI), which ran Feb. 5-6 in Brussels, Belgium. Blogging about IcedRobot in a Feb. 8 post, Torre lists two goals for the project.
First, IcedRobot wants to separate Dalvik from the usual Android infrastructure so that it runs as any other UNIX program in the Linux environment, and possibly other UNIX variants such as OSX and QNX.
Second, the project aims to "avoid Dalvik and Harmony as much as possible and put the Android stack on top of the OpenJDK class library, and run the whole thing in Hotspot (this is cool, isn't it?)," writes Torre. "The second goal is the most interesting because it means basically that Android will run on any desktop finally: one environment, one specification, one JVM."
Essentially, IcedRobot is an attempt to bring the Android API onto the Linux desktop, Torre goes on to explain. The project wants to "decouple Dalvik from the custom Linux kernel that Android uses and at the same time to port the extra APIs (and especially the graphics stack) so that I can run this thing standalone," he writes.
In a description of the IcedRobot talk, labeled as "IcedRobot: The GNUlization of Android," on the FOSDEM website, Fu explains that the IcedRobot project consists of the GNUDroid and the GNUBishop subprojects. GNUDroid intends to create an Android implementation using FOSS components borrowed from GNU Classpath and OpenJDK, to be called the IcedRobot Micro Edition.
GNUBishop, meanwhile, will augment the standard features offered by Android with typical desktop functionality, and will be called the IcedRobot Standard Edition. The slides for the FOSDEM talk also list a third subproject called Daneel, described as a "pure Java Interpreter VM for Dalvik."
Florian Mueller, founder of the NoSoftwarePatents campaign and author of the FOSS Patents blog, lauds the IcedRobot idea, but appears to have some reservations about the project's chances for success. "By integrating Java code available on GPLv2 terms they hope to be safe from legal attacks on Oracle's part, but this depends on what exactly they do and how the implicit patent license contained in the GPLv2 would apply," Mueller writes.
"The more they modify the OpenJDK code, the less likely they are to be covered by that implicit patent license," he continues. "But just the fact that they see a need to act and don't trust that Google will defend itself successfully is interesting. Those are skilled software developers who apparently concluded that they have to take their destiny into their own hands."
Mueller applauds the IcedRobot team for "embarking on such an ambitious project," but notes that Google and Oracle both likely "secretly hope that the IcedRobot idea never materializes."
He goes on to note that, "Google's strategy with Android is to avoid the GPL to the greatest extent possible. Google wants to accommodate proprietary extensions that Android device makers may consider valuable for differentiation purposes. Oracle, however, looks at the mobile market as a key area in which it seeks to monetize Java. In this area, Oracle insists on one of its field-of-use restrictions for third-party Java implementations."
Other bloggers cited IcedRobot, including Simon Phipps, chief strategy officer at ForgeRock and former chief open source officer at Sun Microsystems. Phipps, who attended and spoke at FOSDEM, writes that there "were plenty of interesting talks, most notably Mario Torres and David Fu talking about their IcedRobot project to get Android apps to run on OpenJDK (and thus on any desktop)."
Dalvik for MeeGo, Dalvik for BlackBerry?
Dalvik also made the news yesterday when Myriad Group AG announced a Dalvik virtual machine claimed to let Android apps run on non-Android platforms. Myriad posted a video demo (pictured at right) showing its Myriad Alien Dalvik running Android apps on a Nokia N900 side by side with an Android-based HTC Legend phone, revealing similar performance. The company says the software will be available for MeeGo later this year.
Last month, meanwhile, rumors popped up about Research in Motion (RIM) working on a possible Dalvik Virtual Machine for its PlayBook tablet, and possibly its BlackBerry phones. Adding Dalvik would make it much easier for RIM to support Android apps, should it decide to do so.
Darryl Taft is a writer for our sister publication eWEEK. Eric Brown contributed additional reporting to this story.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.