Oracle, Google, and the survival of the fittest Java
Ellison believes in
open closed number one
Sun Microsystems regularly boasted that Java ran on the most ubiquitous and the fastest growing of computing platforms: two billion cell phones.
But behind these boasts lay a chronic contradiction: the market was hopelessly fragmented, killing cross-platform application development, and Sun could do noting.
We had Java ME, MIDP, and CLDC over the years, but none could bring unity and the level of application portability found in the world of PCs and servers. Java father James Gosling has admitted as much, saying that Sun wasn't as successful as it would have liked to have been in realizing his original vision for cross-platform compatibility of Java. And according to Gosling, Google's decision to enter the handset market with Android just made a bad situation worse.
In a blog post here, Gosling has written that Sun objected to Google's idea of making the platform free to handset providers because this would weaken interoperability.
"They [Google] had very weak notions of interoperability, which, given our history, we strongly objected to. Android has pretty much played out the way that we feared: there is enough fragmentation among Android handsets to significantly restrict the freedom of software developers."
Now Oracle has taken up the cause. But according to Gosling, the skirmish isn't about patents or principles, it's about ego, money and power.
Gosling's comments confirm The Reg's view that Oracle has been looking for a Google smack-down opportunity. According to Gosling, during the Sun acquisition, he was "grilled about the patent situation between Sun and Google" and "we could see the Oracle lawyer's eyes sparkle."
Sun's final effort to close the cross-platform contraction was Java FX. The same code could – we were promised – run on PCs, TVs, and devices. That code was Sun's JavaFX Script scripting language that could run on Java Standard Edition (Java SE) for desktops and on devices via JavaFX Mobile.
Android is based on a similar principle: it implements the Dalvik Virtual Machine built on a subset of Project Harmony – the Apache Software Foundation's implementation of Java SE. Dalvik re-compiles Harmony class libraries for mobile devices' limited form factors.
There's an obvious conflict, as Google and now Oracle are promoting similar visions and architectures that combine mobile and desktop Java. Oracle has clearly ordained JavaFX Mobile as its software of choice for building feature-rich, cross-platform applications across myriad devices.
According to Oracle's Sun web site: "JavaFX Mobile builds on top of the market-leading Java ME platform to take advantage of its powerful, device-level capabilities." Also: "People building content based on JavaFX for the desktop, mobile phone, or other consumer devices will be able to deploy their content more broadly than with any other technology."
A conflict was inevitable given Oracle's Darwinist belief in being number one and not living in someone else's shadow. That's why Oracle backed Linux in the 1990s. It didn't want it's software to be dependent on a single company's operating system roadmap. Now, for the same reasons, it's backing closed source. Java FX remains the only member of the Java family not open sourced and completely in control of the code's owner.
As open source developer and activist Bruce Perens noted in his blog, Android has sidestepped both the usual Java interface options of AWT and Swing. Google has created its own interface toolkit instead. It's this point that Oracle seems to have pounced on, in order to claim Android doesn't conform to the official Java SE or Java ME specs.
The question is whether Oracle can make its case stand up. ®
Please stop FUDing
OpenOffice, MySQL and Java are exactly the techs Oracle can't kill. Other Sun projects are in danger, but those 3 are very stable due to strong communities.
OpenJDK is GPLv2, and it has patent grant for all users of the OpenJDK and derivatives. Problem with Dalvik is that it is not derivative, and it is not under GPL. It is under Apache license. So the patent grant from GPL'd Java doesn't apply on Google's Dalvik. OpenJDK is real Java and it is certified with TCK. It is in no danger at all. It has claspath exception, so you don't need to have anything with Oracle if you want to use it for writing proprietary programs. Red Hat distributes OpenJDK with RHEL and Fedora and has no problems, so no need to worry.
OpenOffice is in no danger, it is under LGPLv3, which offers even stronger patent grant that apply to even future patents that Oracle didn't even acquire yet. So there is no chance in hell that OpenOffice can be killed by lawsuit. If Oracle abandons OpenOffice, lots of people outside of Oracle are familiar with the code, so forking would be easy.
MySQL has most problems of those 3. Because of dual-licensing policy it uses, you need to buy proprietary license from Oracle to be able to write proprietary apps using MySQL. But that is not problem for FOSS. MySQL- Oracle situation is carefully watched by antitrust regulatory and hopefully, it will be striped from Oracle if something bad happens.
"Android has pretty much played out the way that we feared: there is enough fragmentation among Android handsets to significantly restrict the freedom of software developers."
Is this really true? Sure, there's fragmentation in terms of what skin the manufacturer sticks on their phone, but for application development, it's not that different from iOS, and far, far better than what j2me ever was.
The market has changed since the j2me days, where the developer would jump through hoops to try to make their app compatible with as many handsets as possible. Now, apps are King and it's not in device makers' interests to make their handset incompatible with a whole host of existing apps. This tends to minimise fragmentation.
Not fully correct, IMO
The situation until ca. June 2009 was this: All the major phone companies had a crappy version of J2ME (something conceptually crappy to start) in their phones. SUN got a z % cut of each and every of those phones. Nearly Nobody used J2ME, for lots of reasons, including horrible quality issues.
But SUN got their nice revenue stream !
Now everybody can see that the Android phones will eat the J2ME lunch and Oracle J2ME revenue will soon dry up completely. No handset maker in their clear minds will want J2ME.
So Oracle thinks they need to suck money out of the handset makers via the Android route.
The outrageous issue here is that SUN successfully duped World&Dog into the belief that Java was a kind of "Common Good" and you could use it for free. Thereby, they infected a lot of companie's technologies (including Google's, HTC's, Motorola's, IBM's, SAP's etc) and now the Virus is activated and the Big Legal Guns Deployed.
A GPLed product which has Patents Attached is actually a poison pill that can be used by the Issuer Any Time. MS is much less a nasty guy because they charge you upfront and most judges will see this as an implicit patent royalty payment. Good luck to Google, IBM, SAP, Motorola for negotiating the price of something they have already "consumed".
The only route of Action is to avoid Java, OpenOffice and MySQL at all cost. I just found out AbiWord is working very well.