As several astute Reg readers have pointed out, Apple's end user licensing agreement for the new iPhone SDK includes its very own anti-Java clause. Sun can put a free Java Virtual Machine on the Jesus Phone, but this JVM won't be allowed to actually run Java code.
"An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise," reads the Apple EULA. "No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple's Published APIs and built-in interpreter(s)."
The day after Apple unveiled its new SDK, Sun vice president of Java marketing Eric Klein told us that the company had "spent the last 24 hours furiously looking through what information was made publicly available" by Steve Jobs and company. "We feel comfortable enough at this point on the information we have," he said, "to commit the engineering resources to bring the JVM over to the iPhone and the iTouch as fast as our schedules and Apple's release schedule will allow."
Assuming that Klein was telling the truth - that Sun did indeed spend those 24 hours "furiously" looking over Apple's materials - there are only two possible explanations for the company's ill-advised public statement. One: Sun doesn't know how to read. Or two: Eric Klein believes his company has the power to shame Steve Jobs into rewriting his EULA.
We're opting for the first possibility. It's the least ridiculous of the two.
Over the weekend, when we asked Sun about the clause in question, the company tossed us an email response from Klein, but he wouldn't actually talk to us on the phone. His carefully-worded statement said this:
After Sun announced our intent to create a JVM for iPhone and iTouch last Friday, there were questions raised in some blogs & forum posts about whether Apple's iPhone license agreement allows us to deploy the JVM.
Our announcement was based on our excitement to build a JVM for the iPhone and the iTouch, as well as our assessment of Apple's publicly available information on the SDK and related business terms. If there are clauses in the iPhone beta SDK license agreement that potentially limit third party application distribution, then these are items that we want to have a positive discussion with Apple about.
Sun and Apple have an ongoing relationship around Java SE on Mac OS X and we look forward to further discussions with Apple about a JVM for iPhone and iTouch. Sun definitely plans to deliver a JVM for iPhone and iTouch if at all possible!
Of course, it's not possible. At least not for the foreseeable future. Sun may be silly enough to make idle claims about the iPhone SDK. But Apple is not. ®