Google has made a sweeping request that a court throw out the copyright- and patent-infringement lawsuit filed in August by Oracle over Java use in Android, a popular, open-source mobile-phone platform created by Google.
In its response to the lawsuit, filed late Monday, Google denies all seven patent-infringement charges, and, in a separate motion, requests that the single copyright-infringement claim be either dismissed or clarified because Google finds it "legally deficient."
Google is also making a counterclaim, seeking declaratory judgment of non-infringement and invalidity of the patent-infringement allegations made by Oracle.
A hearing has been set for Nov. 18 for the U.S. District Court for the Northern District of California, San Francisco Division, to hear arguments for and against Google's motion to dismiss the copyright claim specifically.
"Oracle's Complaint includes impermissibly vague and broad allegations of copyright infringement," reads Google's response.
Google is asking the court to not only dismiss Oracle's lawsuit, but to also rule in favor of Google's counterclaims and to state that Google hasn't incurred in the alleged patent infringement and that the patents in question are invalid.
"It's disappointing that after years of supporting open source, Oracle turned around to attack not just Android, but the entire open source Java community with vague software patent claims," a Google spokesman said Tuesday via e-mail regarding Monday's filings.
Oracle has said that Google "knowingly, directly and repeatedly" violated Java programming language intellectual property that Oracle obtained when earlier this year it acquired Sun Microsystems.
In particular, Oracle is objecting to the Dalvik Java compatible technology Google developed for Android. Dalvik is a virtual machine optimized for mobile devices. All Android applications run in their own process with their own Dalvik instance, according to official Android documentation.
In its response to the lawsuit, Google states that Android developers can use various programming languages, not only Java, and that applications are converted into Dalvik intermediate instructions that any device with a Dalvik VM can execute.
"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 Dalvik VM is not a Java VM," reads Google's response.
Google built Dalvik rather than use the standards-based Java Micro Edition to run Java applications. Developers have said there are technical advantages and disadvantages to using Dalvik. But they have also said that Google may have built Dalvik to get around licensing issues with Sun.
At the time of Android's release, one developer, who now works for Google, wondered if Google realized its move put Sun in a difficult position. Sun was still an independent company and a champion for open source. Suing Google over an open-source software stack would not appease the open-source community, Stefano Mazzocchi, the developer, said then.
An Oracle spokeswoman reiterated the company's allegations on Tuesday, saying Google has infringed upon and fragmented Java to the detriment of Oracle, consumers, developers and device makers.
"In developing Android, Google chose to use Java code without obtaining a license. Additionally, it modified the technology so it is not compliant with Java's central design principle to 'write once and run anywhere,'" she said via e-mail.
The stakes for both companies in this lawsuit are high. If Google is found to infringe patents in Android, it could be required to pay a licensing fee for each handset made. "They could pass that on to developers or device vendors and that would change the attraction of Android," said Chris Hazelton, an analyst with The 451 Group.
In its filing, Google said that the openness of the platform is what has made it attractive and successful. "The success of the Android platform is due in large part to its open nature, which benefits the entire open source community of consumers, developers, manufacturers, and mobile operators," it wrote. Android is used by more than 90 different devices from 20 manufacturers. About 200,000 Android-based devices are activated daily by customers of more than 50 wireless carriers, according to Google.
For Oracle, that success could generate revenue. "Licensing is a huge business in the mobile space," Hazelton said. "If Oracle could get even just fractions of a percent of sales or even a dollar or two on each Android device, it could be very lucrative."
Some mobile phones require as many as 10,000 licenses, covering hardware, networking technologies and software, Hazelton said.
In its response, Google also needles Oracle, saying that before it acquired Sun, Oracle had been a vocal critic of what it perceived as Sun's attempts to assert control over Java instead of making it all open-source software.
Google also states that it receives no "payment, fee, royalty or other remuneration" for what it contributes to the Android platform. Along with 77 other companies, Google belongs to the Open Handset Alliance, which develops information and source code for Android.
Google also argues that Android's popularity has had a positive effect on Java developers and on the programming language's use in general.
The patents Oracle is alleging have been infringed are:
-- U.S. Patent No. 6,125,447, titled "Protection Domains To Provide Security In A Computer System" (Sept. 26, 2000), -- U.S. Patent No. 6,192,476, titled "Controlling Access To A Resource" (Feb. 20, 2000), -- U.S. Patent No. 5,966,702, titled "Method And Apparatus For Preprocessing And Packaging Class Files" (Oct. 12, 1999), -- U.S. Patent No. 7,426,720, titled "System And Method For Dynamic Preloading Of Classes Through Memory Space Cloning Of A Master Runtime Process" (Sept. 16, 2008), -- U.S. Patent No. RE38,104, titled "Method And Apparatus For Resolving Data References In Generate Code." (April 29, 2003), -- U.S. Patent No. 6,910,205, titled "Interpreting Functions Utilizing A Hybrid Of Virtual And Native Machine Instructions" (June 21, 2005), and -- U.S. Patent No. 6,061,520, titled "Method And System For Performing Static Initialization" (May 9, 2000).