Two large companies, Google and IBM, have invested a lot of money and have built multi-billion dollar businesses based on Java: Android and the Rational/Websphere Suite. They're probably losing a lot of sleep at night knowing another large and independent player like Oracle owns the thing. I would. IBM has even "joined" the new OpenJDK effort. But it's just a matter of time until they resign over some $$ or licensing dispute.
I wonder why they don't seriously team up and do something about this. Google has already many language and vm designers on board, with Python, V8 and Go all increasingly popular. IBM too is no stranger to building languages, runtimes and databases from the ground up.
Instead of setting up a true open standard for a cross-platform environment and language, they choose to spend billions on patents and legal fees to defend their status-quo.
As an android developer, this has me very concerned. I am worried that the subset of Java that Android comes with diverges more and more over time from the official implementation, and Android's subset becomes the new IE6.
Over time, i expect more and more libraries that I use which were not designed specifically for Android, but work fine nonetheless - to begin having issues with the java subset provided by Android unless Google works hard to keep their subset up to par.
Already, Android seems like its own little island without much of an ecosystem.
It seems both Mac and Windows' respective platforms are converging; this will make it easy to share code between respective variants of those operating systems, although there will be unique considerations to be made in terms of the UI for each form factor.
Google does not communicate future plans about these things, and I'm not convinced they have the resources and wherewithal to keep Android's Java subset on par with official Java. Especially without the java compatibility test tools. I feel as if Google has been limping along just barely enough with Android to keep up with iOS and and soon, WP7/8.
Part of me wishes Google would just work something out with Oracle so that we can use an official implementation of Java on Android … or just get rid of Java altogether and use another language.
RIP? WTF? Android recycled a large portion of the Harmony code base (this is why the Sun/Oracle Java case is both vs Google and Apache, even if not explicitly).
The only thing Android does thats new is the Dalvik VM. The rest is Harmony's classpath and friends.
I'm not a lawyer, but from my understanding the implicit patents grant functions well only in the US as a product of US patent law, but is absent from the world's other patent systems. In some countries it is even disallowed.
During the analysis of the Oracle-Sun merger, a lawyer from the European Commission said that the implicit patent grant from MySQL may be limited to the purpose of the original software and would not extend to forks: http://ec.europa.eu/competition/mergers/cases/decisions/m552...
Another problem with the implicit patent grant in GPL v.2 is that it was never tested in court. This is not enough reason to doubt it, but considering how the SCO lawsuit took 10 years to get solved and how many resources were invested by Novell and IBM to get to that point for basically a clear-cut decision (not only infringement was absent, but SCO didn't even own the copyrights they claimed infringed), would you really tell Oracle to fuck off in case of a threat?
Also consider how patent lawsuits have gone international. Witness how Samsung and Apple are attacking each other in non-US countries. A license that's only reliable in the US is not enough anymore. And you don't even know if GPL v.2 is reliable in the US. Not until it is tested, not until there's a precedent.
And yet another problem: Oracle owns everything Java, so they aren't really bound by the GPL.
That's not likely. The apps don't extend the JVM in any way - they just use it. It's like eglibc and any app on the system. That specific libc is LGPL, but that doesn't mean any application using it has to be using the same license.
Edit: just realised it's not the best example because the apps are actually linking and that's allowed by LGPL. Better one would be probably mono which does use GPL.
* The C# compiler is dual-licensed as MIT and GPL.
* The tools are GPL.
* The runtime is LGPL.
* A few more interesting parts from Microsoft are Microsoft Permissive, with some dual licensed as Apache.
Mono is a bad example because it is not one single license, and Microsoft has been pushing for purging all GPL/LGPL elements from the code to make it easier to push an anti-Linux patent attack.
This makes no sense. If that were remotely possible, IBM would never touch the thing, much less support it and I assume their legal already took a better look into it than we could ever hope to do.
I wonder why they don't seriously team up and do something about this. Google has already many language and vm designers on board, with Python, V8 and Go all increasingly popular. IBM too is no stranger to building languages, runtimes and databases from the ground up.
Instead of setting up a true open standard for a cross-platform environment and language, they choose to spend billions on patents and legal fees to defend their status-quo.