Google could be heading for a showdown with Sun over the way Android, Google's
new mobile phone software platform, handles Java.
Instead of using the standards-based Java Micro Edition (JME) as an engine
to run Java applications, Google wrote its own virtual machine for Android,
calling it Dalvik. There are technical advantages and disadvantages to using
Dalvik, developers say, but technology may not have been the driver for Google.
Google most likely built Dalvik as a way to get
around licensing issues with Sun that would have come with using JME, said
Stefano Mazzocchi, a developer and board member at Apache Labs.
Phone makers that incorporate JME into their phones must license the technology
from Sun if they intend to make any modifications to it, Mazzocchi said. A phone
maker could freely use JME under an open source license if it shares innovations
to the software with the community, but most large handset makers are reluctant
to do that, he said.
Rather than require phone makers to license JME as part of Android, Mazzocchi
said, Google built its own virtual machine. Dalvik converts Java bytecodes into
Dalvik bytecodes.
"So Google can say Dalvik is not a Java platform," said Hari Gottipatti,
a mobile developer who also has been examining
the issue.
Google declined to comment on Dalvik.
"I believe Sun didn't see this coming," Mazzocchi said. "I think
this was a very smart and clever move."
Still, Google could run into trouble. If Google used any of Sun's intellectual
property to build Dalvik, Sun could sue Google for patent infringement, Mazzocchi
said. "I'd be very curious to see what Sun would do," he said. That's
because Sun is a staunch advocate for open source, so it would hardly appease
the open source community to sue Google over an open source software stack.
However, Google's move threatens Sun's business strategy, Mazzocchi said. He
believes that Sun sees a bright future in the mobile market and hopes to earn
revenue off the use of the Java virtual machine by phone makers. Google's plan
diminishes that opportunity for Sun.
While Sun declined to comment directly for this story, it pointed to some public
statements from company executives. Jonathan Schwartz, president and CEO of
Sun, wrote a blog
post congratulating Google on the day of Android's launch. Notably, he refers
to Android as a "Java/Linux" platform. By contrast, Google carefully
appears to avoid calling Android a Java platform. Google describes
the Android software development kit as a set of tools that lets developers
create applications using Java.
Sun also shared statements that Rich Green, executive vice president of software
at Sun, made during Oracle Open World this week about Android. "We're reaching
out to Google and are anticipating they will be reaching out to us to ensure
the software and APIs will be compatible--so deployment on a wide variety of
platforms will be possible," he said.
Green also said that Sun wants to work with Google to prevent creating a fractured
mobile development environment.
That's a concern for other mobile developers like Gottipatti. The mobile environment
is already fractured. Even with JME, he has to alter his applications for different
phones. "But in that case as a developer I'm porting once and maybe tweaking
for different phones," he said. "But with this you'll need to develop
a separate application that's not standard. Unless Android becomes main stream
and kills J2ME ... why should I develop applications that are not standard which
I'm not sure about because I haven't seen any commercial handsets yet?"
Gottipatti believes that the technical differences in Dalvik were the main
driver for Google, not the licensing issue. The license fee that handset makers
must pay for JME is very nominal, he said. He thinks that if Google asked, Sun
would have included JME in Android and waived the licensing fee.