Ever since Google kicked off the Open Handset Alliance and released the "gPhone" Android SDK for mobile devices, the blogosphere has been buzzing about a new conflict brewing between Sun and Google over the future of Java. But I'm here to tell you, it's all bunk.
Wars, and rumors of wars, between corporate titans sell a lot of news print, even the electronic kind. So I'm not even going to link to all the articles where I've read about this so-called spat. (Besides, I'm too lazy to look them all up). However I do want to address the core disagreement that some say will divide the two companies.
While Android is based on a machine-independent VM architecture that compiles and runs code written in the Java language, it's not exactly Java (Tee eM). In particular it's a complete break from Sun's Java ME (Micro Edition) offering. A lot of propeller heads get their beanies in a twist whenever someone steps off the "standards" path, so predictably there were cries of "Why couldn't they just use Java ME?" But I believe there are many folks at Sun who are quietly saying "I wish we could have done that."
Let's face it, how many developers really like Java ME? How many can describe the difference between CLDC, CDC and MIDP? Between Foundation, Personal Basis, and Personal profiles? How many consider javax.microedition.lcdui the pinnacle of user interface design? Not many. (And if you're one of them, you should seriously consider therapy). Java ME has years of baggage and legacy API that Android ignores. Over-complicated, and under-compatible, Java ME had backed itself into a corner, leaving the field open for competitors like Flash Lite to gain ground. Google's initiative opens a new chapter for Java (or 'Java-like', if you insist) technology.
However, Google did make one big mistake with Android, the same mistake that IBM made years ago - it cut them out of the process, at least in perception if not in fact. In IBM's case this resulted in a culture of distrust and dis-harmony (pun intended) between the two companies that continues today. Sun/IBM unity behind Java is a lost cause. But in Google's case, the outcome can/will/must be different.
A new generation of forward-thinking leadership is running Sun now. CEO Jonathan Schwartz once said "Innovation happens elsewhere." Well, here it is, happening right now at Google. Early indications are that Jonathan, at least, intends to embrace it. In his blog Schwartz wrote:
Google and the Open Handset Alliance just strapped another set of rockets to the community's momentum - and to the vision defining opportunity across our (and other) planets.
Today is an incredible day for the open source community, and a massive endorsement of two of the industry's most prolific free software communities, Java and Linux.
Them's hardly fightin' words.