|
|
Java drama! Gossip! Excitement! All here! Got a juicy tidbit that you think should go in Java To Go? E-mail me at jfruh@jfruh.com, or contact me on Twitter as jfruh!
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.