Oracle has sued Google for patent and copyright infringement relating to the use of the Java platform in the Linux-based mobile operating system, Android.
The suit was filed on Thursday in a northern California district court. Oracle wants Google's alleged infringements to stop; it wants all copies of Android impounded and destroyed; and it wants treble damages for the alleged infringements. The Java programming language is a de facto standard across the web and has, since before the advent of Android, been widely used for mobile phone applications.
"In developing Android, Google knowingly, directly and repeatedly infringed Oracle's Java-related intellectual property. This lawsuit seeks appropriate remedies for [its] infringement," Oracle spokeswoman Karen Tillman said in a statement.
The Android software stack includes apps running on a Java-based object-oriented framework, which in turn runs on a Dalvik virtual machine (VM). When Oracle bought Sun Microsystems in 2009, it picked up Java as part of the deal. Now, Oracle claims Android — including the Dalvik VM and the Android software development kit (SDK) — infringes on seven Java patents.
"Not a big surprise," Java creator and former Sun employee James Gosling, who resigned from Oracle in April, after the Sun takeover, said in a blog post on Thursday. "During the integration meetings between Sun and Oracle where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle. Filing patent suits was never in Sun's genetic code. Alas."
The technology described in the patents Oracle is asserting could be at least partly open-source, making Google's use of them legal, founder of the NoSoftwarePatents campaign Florian Mueller noted in a blog post on Friday.
"Even if some Android-based or Android-related products may include components that don't meet open-source criteria, I find it impossible to imagine that the patents Oracle tries to enforce here would be infringed only by closed-source components and not by Android's many open-source components," Mueller wrote.
He added there was no indication that Oracle had offered Google a licence deal on fair, reasonable and non-discriminatory (FRAND) terms. "If companies only go to court because someone doesn't accept a reasonable licence deal, then even I as an opponent of software patents can see the commercial logic and can't condemn such action in moral terms because it allows companies to stay in business," he said.
ZDNet UK has asked both Oracle and Google whether such licensing discussions took place, but had received no comment on the case at the time of writing.
Mueller also pointed out the issue of whether Google will defend only itself in the suit, or also defend the device manufacturers (OEMs) that use Android for their phones and are therefore also held liable by Oracle.
"It would be very disappointing to see Google settle its dispute with Oracle on a basis that would take care only of Google but not of the wider Android ecosystem, including — but not limited to — the makers of Android-based phones," Mueller wrote. "An unlikely scenario is for Google to pay the bills for all Android OEMs as they are coming out fast and strong from every corner of the world."
Open source programmer Miguel de Icaza, who started the Gnome and Mono projects, also gave his opinion that issue in a blog post on Friday. "Oracle will likely want to settle with Google under terms that will only cover Google's own use as they want to go shaking other OEM trees for more cash," de Icaza wrote.
The US patents referred to by Oracle are:
- Patent No. 6,125,447, (the '447 patent') — "Protection Domains To Provide Security In A Computer System"
- Patent No. 6,192,476, (the '476 patent') — "Controlling Access To A Resource"
- Patent No. 5,966,702, (the '702 patent') — "Method And Apparatus For Preprocessing And Packaging Class Files"
- Patent No. 7,426,720, (the '720 patent') — "System And Method For Dynamic Preloading Of Classes Through Memory Space Cloning Of A Master Runtime System Process"
- Patent No. RE38,104, (the '104 patent') — "Method And Apparatus For Resolving Data References In Generate Code"
- Patent No. 6,910,205, (the '205 patent) — "Interpreting Functions Utilizing A Hybrid Of Virtual And Native Machine Instructions"
- Patent No. 6,061,520, (the '520 patent') — "Method And System for Performing Static Initialization"