How Google Routed Around Sun’s IP-Based Licensing Restrictions on Java ME

I linked to this keen piece by Stefano Mazzocchi back in November 2007, but it’s worth a re-link in light of the lawsuit Oracle just filed against Google over Android’s use of Java. Google is avoiding Sun’s (now Oracle’s) Java ME licensing restrictions by using their own virtual machine, Dalvik:

But Android’s programs are written in Java, using Java-oriented IDEs (it also comes with an Eclipse plugin)… it just doesn’t compile the Java code into Java bytecode but (oops, Sun didn’t see this one coming) into Dalvik bytecode.

So, Android uses the syntax of the Java platform (the Java “language”, if you wish, which is enough to make Java programmers feel at home and IDEs to support the editing smoothly) and the Java SE class library but not the Java bytecode or the Java virtual machine to execute it on the phone (and, note, Android’s implementation of the Java SE class library is, indeed, Apache Harmony’s!)

Friday, 13 August 2010