Oracle's Newest Move To Undermine Android
GMGruman writes "Oracle's decision to shift focus from the Harmony Java open source project to OpenJDK seems innocuous enough — but InfoWorld's Josh Fruhlinger explains it's part of an effort to derail Google's mobile Android OS by gutting the open source project that Android has been driven by. IBM has signed on, apparently in return for getting the Java Community Process reactivated, leaving Google in a bind."
Google is full of smart people. I'm sure they saw this move - and the entire assault on mobile Java and derivatives thereof - coming long before Oracle started their anti-Android crusade. I'd be willing to bet that Google has something new 'brewing' for Android 3 that will leave this whole mess behind. You just don't get that many programmers together without a few being paranoid enough to have planned an 'escape module'.
Did this surprise anyone?
Let us all remember that ORACLE stands for "One Rich Asshole Called Larry Ellison"
This is the company that buys out someone else and does not even bother to offer the customers a migration path. Nor any form of support other than letting you fill out a bug report they close as the product is EOL.
Can someone explain why Oracle cares about the success/failure of Android? I honestly don't know.
The success of Android means a potential 'licensing fee' from every Android install. They don't care about Android per se, they just want to charge everyone to be able to use it.
Forgive the layman here, but why can't Android simply switch Java platforms as well? Open is Open, no?
Oracle is trying to claim that Dalvik, Android's virtual machine infringes on mobile java patents. Mobile java was not included when Java received it's current "open" licensing.
avoid the fees B.S. and just ship the 100 meg java SDK with android and be done with it. it even has a patent cross licensing clause. yes its bloated. yes developers might not use any of its features. who the fuck cares ? just ship the damn thing and keep the JVM compatible. if a nokia dumbphone from 5 years ago can ship with j2me so can an android smartphone.
Sun started OpenJDK as the project from which the GPL'ed version of Java would be created.
It stands to reason, that Sun had planned to discontinue supporting Harmony when OpenJDK was formed.
Don't mean to spoil a good conspiracy...
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
We already know that Dalvik VM itself isn't like JVM. It can be mapped one-to-one (at least going from JVM bytecode to Dalvik bytecode), but the basic architecture is different.
Android also has its own rich class library, while retaining some stock fundamental Java classes. Of those some are inherently implemented mostly by the VM (Object, String...), so presumably they are also Dalvik-specific, while others have Java implementation - collections, for example. I assume the latter is what is taken from Harmony. The obvious question, then, is - how much code is that? Somehow, I suspect that it's not all that big, and so Google could just take over those bits it needs - rather than Harmony as a whole - without having to contribute significant resources to it.
Oracle is trying to claim that Dalvik, Android's virtual machine infringes on mobile java patents. Mobile java was not included when Java received it's current "open" licensing.
And I'm sure part of the reason why Mobile Java wasn't in the "open licensing" was the carriers. That is, Sun had already extracted some money out of the carriers and met with a very nice bit of success there. Remember, before Apple's iPhone and Google's Android, JavaME was a big success in offering advanced features (that sucks compared to today's offerings). It was a big success for Sun licensing wise--something the original Java was not.
But with that money came a very, very hefty price. They had to bend over backwards to give the carriers what they wanted in order to "add value". One of those was charging developers $500+ a pop to be able to release applications for their network. Another for the developers to pay extra to access certain features (location). And another still was for companies like Verizon and Sprint to just flat out turn off certain features.
Which is why Apple didn't do JavaME (I remember being pretty bummed when they didn't)--they wanted complete control, and they would never get that with JavaME.
And Google had similar needs--but also didn't want to pay the licensing costs everyone else did.
JavaME was a money maker for Sun (unlike the standard Java VM), but the process of making money off of it made it a nightmare to deploy apps on. Development--writing code--was ok, but getting it to work on multiple headsets (nevermind multiple carriers) was a huge headache. And it was a huge headache because of all the compromises Sun made to get the carriers on board. And that nightmare (in addition to licensing costs) is why Google came up with their own VM implementation.
I used to be a big Java proponent for mobile development. I'm not anymore. But it is interesting to see how all those bad decisions (I cursed Sun weekly as I tried to wrestle another carrier or headset down) played out into what we have now.
Google didn't want to pay the money. Microsoft (via Miguel) likes to say they would have been better, but they are just as bad on the licensing (see HTC and now Motorola). Sounds to me like Google got used to their free ride on Java and balked at the idea of giving anyone a slice of their work and money on Android.
I'm not saying Ellison is not squeezing them (he definitely is), just that Google is kind of getting a bucket of cold water in their face about how the tech companies "collaborate" in new tech fields. Not "fair", but it is kind of predictable.
"Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
Google collects a license fee from Java ME installs. Android isn't a Java ME implmenetation, obviously, and you can argue that Android is hindering the adoption of Java ME in the next generation smartphone world by absorbing the energies of the huge pool of Java programmers who might want to do mobile development. (You could also argue that Java ME was failing to catch on quite well on its own before Android showed up due to its own limitations.)
If you're interested in the background, here's an article I wrote about it a couple of months ago. (I'm the guy who wrote the article that got slashdotted, for what it's worth.)
Not even that.
The Dalvik VM doesn't accept Java VM bytecode. The Java language is what all the tools work on currently for creating executable images for the VM, and precompiled class files are also converted. If someone were so inclined, Dalvik could use lisp or c or befunge in much the same way that other languages have been compiled to work on the Java VM.
So you're expecting a big, collective gasp as suddenly thousands of people realize Google is a company? You might want to prepare yourself for disappointment.
On a different note, Google's model seems to be more interesting than simply controlling data. They don't want control; they want visibility. They want data to flow through their systems. And they want systems that will make better use of that data. All the free services produce advertising eyeballs, to be sure. But they also provide massive amounts of test data on which Google can try new ideas and tweak useful tools. GOOG411 is a great example. Google presented the service and used it to collect voice samples and feedback to tweak their voice recognition. Now that they're to a certain point (and perhaps Android devices are providing a cost-effective alternative), GOOG411 is EOL.
And Larry Ellison's good buddies with Steve Jobs. Coincidence? I think not.
Of course it's not a coincidence. Pompous douchebags like other pompous douchebags. :)
Not to derail the conspiracy angle, but sometimes it's better to bet on people being self-promoting jerks than people being Evil with a capital E.
Perhaps you ought to turn yours in. The suit isn't about destroying Android. The suit is about the fact that Google is using an incompatible VM with the Java language and trying to pass it off as Java. Which it isn't. Java is supposed to be compatible between the various VMs, even if not always perfect.
It can only be incompatible if they actually claim to be java compatible. They don't. They claim to be able to parse the java byte code, which they do. This is like ARM complaining that you can run ARM binaries in an emulator on another platform - only once more removed.
Java syntax -> java compiler -> java byte code -> compiled to dalvik byte code -> dalvik VM.
The magic happens in the byte code to byte code recompilation. Basically this means Android uses java's byte code as an object format. So unless there is something magical about providing interoperability and compatibility, which are absolutely, legally allowed, I'm not sure what Oracle is complaining about.
Hell, according to the die hard nutjobs in most IRC #java, they completely deny Android has anything to do with Java and a statement to the contrary will result in a kick/ban. Obviously, that's not legally binding but given how far removed Android's Dalvik is from Java, its difficult to understand the confusion when even Java's supporters don't recognize Android/Dalvik.