SAN JOSE – I recall the first time I heard someone in a tutorial describing the Dalvik virtual machine in Android. I scratched my head wondering what this strangely named thing was all about.
Now it’s clear. Google lacked a Java license from Sun Microsystems (now part of Oracle). So it forged ahead with a slightly modified version of the technology.
Now the whole software world is waiting to see what comes out of the Oracle vs. Google patent infringement suit. I put out my predictions recently.
But today an interesting wrinkle in the debate bubbled up when James Gosling publically came out in favor of Oracle in the suit, with some unstated reservations. Gosling's comments are in effect a de facto judgement from the tech community, whatever courts someday decide. There’s a great debate on the issue at Gosling's blog.
Gosling is credited as being the father of Java at Sun. He was not only a key engineer behind the software, but Sun made him the jovial public face of Java at its events, flinging Java T-shirts to the vast crowd, sometimes with an air cannon.
Even back in those days Java was a troubled child. Various OEMs contorted it this way and that to fit into their pre-smartphone handsets, set top boxes and other systems. Interoperability was virtually non-existent in the tangle of loosely confederated Java specs.
I give Sun credit for developing the technology and trying to make it open. In the course of trying to herd the cats, Java just got away from them.
For better or worse, Google has created a more stable and relatively more interoperable alternative with Android by marrying Linux and Java-like technology both as a native environment and as a virtual machine platform. Android is less open than Java was under Sun, but much more of a unified market force in the face of a dozen variants of mobile Linux.
@Embd SW netwk: No the *documents* are copyright. Using the documents to produce a compliant implementation is not breach of the document copyright. Purchasing the document alone *is* purchasing a licence to implement a compliant product. Copyright and patent are not the same thing, though they both deal with intellectual property. One is about original content, the other about original invention.
The google android site features a detailed video by it's engineer on what constitues the Dalvik VM and how it is different from JVM. I suppose google to have taken all necessary precautions to this effect.
Stack-based VMs have been around for a long time.
For example, the UCSD Pascal suite of the 1970's used a VM called p-code and there were numerous other examples.
Having worked on both p-code and JVMs, I struggle to see that the JVM has any huge leaps of invention past p-code beyond the addition of exception handling and garbage collection - features apparent in other VMs such as some LISP systems and postscript.
Ultimately the opinions of an engineer have no bearing on the matter. All that matters is the legal position.
As for the Dalvik VM, there is a very valid technical purpose for such a thing. It is not just some attempt to wiggle off a legal hook. Dalvik can be implemented more efficiently than JVM on many architectures.