Newsletter sign-up
View all newsletters

Sign up for our Enterprise Java Newsletter

Enterprise Java
JavaWorld Daily Brew

Why Sun won't give Harmony the seal of approval


 

My last blog post, on the long-running Sun-Apache Software Foundation spat that resurfaced when it came time to vote on Java EE 6, attracted a bit of interest. Some off-the-record sources chatted with me about it and I now feel like I have a bit more of a sense of what it's all about. Here's the punchline: The dispute between Sun and the ASF over a Java SE implementation, which resulted in a no vote on Java EE? At its heart, it's about making an end run around Java ME.

The story, as I now understand it, is this. The specific restrictions Sun has placed on Apache Harmony getting those compatibility kits and the official JSE certification are more or less moot; the thing that's important about them is that the ASF, by its underlying philosophy, cannot accept them, and Sun wrote those restrictions knowing this. That's because, simply put, Sun doesn't want an implementation of Java getting the Apache license. Yes, the code for the whole thing is already GPL'd, but that doesn't mean you can wrap it up and put it on a Linux box and call it Java when you try to sell it through the channel; you need Sun's approval to use that Java trademark, and without the trademark, it's difficult to convince people that your platform is in fact compatible with Java as developers know it. And as to why Sun is so keen on keeping control over this -- well, it's to prevent Harmony from supplanting Sun's lucrative deals with phone carriers, who pay an awful lot for the rights to put Java ME on their phones.

Yes, you heard that right: Harmony, an all-but-the-Sun-branding-seal-of-approval Java SE implementation, can run on any number of high-end smartphones. In fact, it's already sitting at the core of Google's Android OS, which can for the most part run Java code despite the fact that Google and the makers of the handsets that run Android don't pay a dime to Sun. That's exactly Sun's nightmare scenario, as it needs to extract revenue from Java to keep in business (you may have heard some things about Sun's troubles in the money-making department). The fact that Android doesn't officially implement Java allows Sun a certain amount of cover, and Sun isn't shy about attacking the platform (see for instance Java ME engineer Hinkmond Wong's Sun blog, which holds Android in as much contempt is it does the iPhone). Imagine if a Sun-certified Java implementation were at the core of this competitor OS? Admittedly, Android hasn't really set the world on fire as of yet, but it's quite possible that it'll find its niche in the netbook market in the coming months.

The big question from my perspective is why Apache isn't making a bigger stink about their no vote, and the reasons for it, than they actually are. You may not agree with the ASF's stance, but in some ways they're being so obscure about what's really at stake that nobody can get involved in the debate. At the moment, those no votes are of interest to an incredibly narrow audience; for most people, it's like the voting for who gets to head the prom committee in high school. Only in this case, the prom might be attended by every Java developer in the world. They should care about who's in charge.

Bigger stink

I think you're not seeing a bigger stink because the big stink has happened, all involved understand the relative lines involved and there's not much in the way of news.

Apache want to say that Harmony is Java compliant.

Sun - that big Open Source company - are worried that will loosen the purse strings they have in Java for those who pay for TCK licensing.

Apache don't trust Sun to be in charge of any other Java specification if they're willing to rewrite the rules arbitrarily like this. If Apache rollover on JavaSE, then JavaEE will be next, and on through the rest of the specs as soon as a suit at Sun can find a good financial argument to close up shop.

Hen

[Yet another Apache member speaking personally.... which means not having discussed the response with anyone else at Apache]

Hmm

I wouldn't say this is Sun's worst nightmare. Android is largely unproven and so is Harmony. If they fail, then Sun won't be taken down with them. Yet if they succeed, Sun's JavaME and JavaFX could be made to work on Android. And JavaFX could run on Harmony.

And, Dalvik (the Java VM that Android apps can run on) might be just the thing Sun needs to drive Java innovation and further adoption in the mobile world. Sun can always seek greater alignment with Dalvik in the future.

Yeah, maybe some JavaME licensing revenue will be lost on account of Harmony/Android/Dalvik, but you don't think that the iPhone represents a greater threat to Sun? And isn't Microsoft a greater threat too? Sun should be hoping that Google does really well with Android. That way Java continues to dominate. Microsoft and Apple lose traction (or at least won't reach domination). And Sun can continue to sell hardware, service, and software which takes advantage of Java's ubiquity.

I think in the end, Sun will do the right thing in this dispute. I would bet that ASF will eventually be allowed to get the TCK without the "Field of Use" restriction.

But there's no reason Sun needs to rush to re-write their TCK contract to ASF's liking. Google doesn't seem too concerned about it. Let's not forget that the ASF is funded largely by corporations that might have motives not in Java's (or Sun's) best interest. Before Sun lets the cat out of the bag (the cat would be JavaSE), they probably want to make sure there aren't any huge bears ready to destroy it... (let's not forget the 90's and our friend Microsoft).

will they?

I think in the end, Sun will do the right thing in this dispute. I would bet that ASF will eventually be allowed to get the TCK without the "Field of Use" restriction.

The ASF has been trying to get the TCK since August 2006. I'll leave you to draw your own conclusions as to whether Sun will ever grant the TCK, or whether Harmony would have been certified by now if the TCK had been granted back then.

Stephen Colebourne
ASF member, speaking personally

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br /> <br> <strike>
  • Lines and paragraphs break automatically.
  • Use <!--pagebreak--> to create page breaks.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

CAPTCHA
Just checking to see if you're an actual person rather than a spammer. Sorry for the inconvenience.