James Gosling, the father of Java, publically came out in favor of Oracle in its suit against Google's Android, igniting a lively debate
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.
If this lawsuit is successful or Google capitulates I fear we will have a great many dollars rifled out of our pockets by a company that could end up in a Microsoft-like position; turning the tables on the biggest in the industry. No matter what, I will continue to root for Google and the consumer.
Both the C and C++ standards are copyright by ISO. Does this mean that the SSO of the C and C++ libraries are such that anyone who implements those libraries needs a license from ISO via their national body? I would hope not. This is the same argument Oracle is making about Java, and it needs to fail.
Oracle, if successful in their lawsuit, will kill Java as a language, and forever stop proprietary languages from becoming popular without permissive licensing. Perhaps this is a good thing.
On the patent side, either Sun didn't do a very good job of patenting JVM inventions, or didn't actually have many novel ideas in the JVM, which makes it difficult for Oracle to prevail on patents.
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.
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.
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.