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 said, 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 byte codes into Dalvik byte codes.
"So Google can say Dalvik is not a Java platform," said Hari Gottipati, a mobile developer who has also 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.
- Mission Critical: Managing Mobile Applications & Content Smartphones, tablets and other mobile devices have become embedded in enterprise processes, thanks to the consumerization of IT and a new generation of...
- Securing Mobility, From Device to Network At one time, the process of managing and securing mobile devices and applications was fairly straightforward. Most organizations worried about one application (email)...
- Planning for Mobile Success Many organizations are seeing clear and quantifiable benefits from the deployment of mobile technologies that provide access to data and applications any time,...
- The Challenges and Opportunities of Mobile Application Development Nearly all business users now demand mobile devices--their own or company-owned--along with anywhere access to corporate applications and data. What turns mobile devices...
- On Demand: Mastering the Art of Mobile Content Management Mobile device usage in the enterprise has skyrocketed, and it continues to escalate. IT must answer to users who demand access to their...
- Technology for Everyone A Kansas school district modernizes teaching and learning and paves the way to a one-to-one program with a comprehensive upgrade of its wireless... All Mobile/Wireless White Papers | Webcasts