So, Google has finally officially responded (thanks for hosting, Engadget) to Oracle’s patent and copyright infringement lawsuit against the search giant’s Android mobile operating system. Apart from boatloads of pages on how Google pretty much denies any and all claims, there’s a lot of interesting stuff in there – stuff that doesn’t seem to bode well if the courts do decide Google is infringing Oracle’s patents. It also makes it crystal clear that anyone who values Free and open source software should avoid Oracle products like the plague.
In the counterclaims, Google describes where the Dalvik VM comes from, and what pieces it consists of. The conclusion is this: Google does not have a license for the patents and/or copyrights associated with the Java programming language, platform, and runtime environment, and the company knew this all along. If the judges decide Google infringes upon these patents, Google is boned.
Let’s back up for a second, and look at how we got here – a more point-by-point summary can be found over at Engadget. Sun open sourced Java SE under the GPL back in 2006 and 2007. However, and this is the key, Sun wouldn’t give you patent and copyright licenses unless your implementation also passes the Technology Compatibility Kit from Sun. The problem is how this TCK is licensed; it comes with all sorts of restrictions on use that don’t sit well with the Apache Foundation. The Apache Foundation has been trying to get a license without these restrictions ever since.
As Google gleefully points out several times, Oracle used to be squarely on Apache’s side in this debate, urging Sun quite strongly on several occasions to provide said license to Apache. For instance, Oracle supported a motion that “TCK licenses must not be used to discriminate against or restrict compatible implementations of Java specifications by including field of use restrictions on the tested implementations or otherwise. Licenses containing such limitations do not meet the requirements of the JSPA [Java Specification Participation Agreement], the agreement under which the JCP [Java Community Process] operates, and violate the expectations of the Java community that JCP specs can be openly implemented.”
Interestingly enough, as we know today, one of the main reasons Oracle bought Sun was the potential for patent infringement suits around Java, something pitched by Jonathan Schwartz himself. As such, Oracle has now done a complete 180 on this one, and it now apparently no longer supports Apache’s cause. This just goes to show that companies can never be trusted – scorpion, river, frog.
The Dalvik VM uses parts of the Apache Harmony Java implementation. Apache Harmony has not passed the TCK. Consequently, it is not covered by Sun’s patent and copyright licenses. The struggle to obtain such a license has been well documented in the past, and Google itself confirms that by describing this struggle in great detail in the counterclaim. As such, if Google were to be found infringing – it’d be wilful infringement. Oops.
Of course, most of us more enlightened geeks find software patents a bunch of nonsense, but sadly, the US patent system is the way it is, and it looks like Google could have its behind handed to them.
At least one good thing has come out of this: Oracle has been exposed for the anti-Freedom, anti-open source company that it really is. Its loyalties lie with money, and money alone – and while that’s perfectly fine, it does make it clear that anyone who values more than money alone should avoid any Oracle product like the plague.
Also, Larry fistbumping the Steves.
Sun was refusing to give the TCK due to the fact apache was wanting to use a more open license than GPL.
http://jcp.org/en/participation/membership 5000 USD would have given google access to what you need to test TCK conformance ie Java Compatibility Test Tools (Java CTT). To individuals cost is nothing.
Even so android implementation would still fail. Reason 1 and its a big one. Out the box android implementation cannot run native Java bytecode. Even if it was just shipped with a on the fly converter to Googles. So the implementation fails.
Remember one of the key objectives of java is 1 binary everywhere. Google android fails this. Anyone show much an android app that is using Google byte code system that will run on windows and linux.
Sorry Oracle is no the only bad guy here. Google is also a bad guy due to the way they have done things.