> Dalvik was intended to circumvent copyright and - perhaps - trade secrets, not patents.
I disagree. There is no reason that Google couldn't have built their own clean-room implementation of the JVM and called in Android. If they used no Sun code and no Sun trademarks, there were would be copyright or trademark infringement. Outside of some technical advantage, the only other reason to completely change the design of the VM would be to get around JVM related patents.
It's quite possible that Dalvik allows Google to avoid most of Sun's patents on Java technology. The patents included the suit would seem to be violated by most VM technologies, including Microsoft's .NET CLR.
Going further than that, given Google hired a number of staff that had worked on the Java implementation at Sun, and given that the head of Google was present at Sun as the Java patent-and-copyright trap was being constructed, it seems inconceivable to me that Dalvik would have been permitted to violate Sun's patents.
In a rational world and under a reasonable patent system, I might agree. But you know as well as I do, Simon, probably better, that under the current process it's difficult to guarantee that you're not violating anyone's patents. Particularly when you're reimplementing an existing system.
Is it possible that Oracle's patents don't read on Dalvik? Certainly. Did Google take care to minimize the risk of such? I'm sure they did.
But however careful the execution, the system at present is would be actively working against them.
I disagree. There is no reason that Google couldn't have built their own clean-room implementation of the JVM and called in Android. If they used no Sun code and no Sun trademarks, there were would be copyright or trademark infringement. Outside of some technical advantage, the only other reason to completely change the design of the VM would be to get around JVM related patents.
It's quite possible that Dalvik allows Google to avoid most of Sun's patents on Java technology. The patents included the suit would seem to be violated by most VM technologies, including Microsoft's .NET CLR.