Google has responded to Oracle's lawsuit over the use of Java in Android, claiming that the mobile OS does not violate Oracle's patents – while accusing Ellison and company of a certain Java open source hypocrisy.
In August, Oracle filed a complaint in federal court alleging that Google deliberately infringed various Java-related patents and copyrights that Oracle acquired in purchasing Sun Microsystems. The suit claimed infringement of seven patents by the Android OS, specifically pointing to Android's Dalvik virtual machine and the Android software development kit.
On Monday, Google filed an answer to the suit, arguing that Oracle's patents should be declared invalid. "Google specifically denies that Google has infringed or is liable for infringement of any valid and enforceable patents of Oracle," the filing says. "Google further specifically denies that Oracle is entitled to any relief whatsoever of any kind against Google as a result of any act of Google or any person or entity acting on behalf of Google."
The filing also made several counter-claims, pointing out that Android code is open sourced under an Apache license and that Oracle has kept portions of Java closed. As Google details in its filing, Oracle called for Sun Microsystems to fully open source Java in 2007, but then reversed course following its acquisition of Sun. "[Oracle has] ignored the open source community’s requests to fully open-source the Java platform," the filing says.
On one level, it seems that Google is hoping to sway a federal judge with the old we're-more-open-than-they-are argument. But the company is also trying to make a larger case involving ever-controversial Java Technology Compatibility Kits (TCKs).
Google's filing points out that Sun didn't open source the TCKs – which Java licensees must use to ensure compatibility with the Java specification – and that they remain closed under Oracle. Google's Dalvik VM is built on a subset of the Apache Software Foundation (ASF)'s Project Harmony, an open source version of Java Standard Edition (Java SE), and Harmony is at the center of a long running argument between Sun and the ASF over the TCKs.
The ASF complained that Sun licensing included "field of use" (FOU) restrictions that – among other things – prevented the TCKs from being executed on mobile devices, ensuring that Harmony can only be used on desktops.
Google seems to imply that whereas Oracle backed Project Harmony efforts to achieve unfettered mobility, it's attacking Android for similar efforts. "In February of 2009, Oracle Corp. reiterated its position on the open-source community’s expectation of a fully open Java platform when it 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," Google's filing says, before pointing out that since its acquisition of Sun, Oracle hasn't fully open sourced Java.
The difference is that Harmony seeks to duplicate Java. And Dalvik doesn't.
Whatever Oracle's stance on fully open Java, its core argument is that Google has violated its patents and copyrights in bypassing the Java licensing process entirely. Though the Java license allows for 'clean room' versions of the spec, such as Harmony, Google chose to build its own VM instead. "Although software applications for the Android platform may be written in the Java programming language, the Dalvik bytecode is distinct and different from Java bytecode," the Google filing says. "The Dalvik VM is not a Java VM."
Following Google's filing, Oracle released a statement saying that with Dalvik, Google not only bypassed the licensing process, but fragmented the Java landscape at the expense of developers. "In developing Android, Google chose to use Java code without obtaining a license," the statement reads "Additionally, it modified the technology so it is not compliant with Java's central design principle to 'write once and run anywhere.' Google's infringement and fragmentation of Java code not only damages Oracle, it clearly harms consumers, developers and device manufacturers."
You can argue against Oracle's claims that Google has violated its patents. But when it comes to 'write once and run anywhere," Ellison and company have a point. Per usual, claims of openness aren't always what they seem. ®