Oracle and Google are due in court today for the start of an eight-week jury trial that could have significant implications for developers of Android applications, as well as potentially for developers of other software.
The trial is to determine whether Google violated Oracle's patents and copyrights when it decided to build Android using Java. Oracle says Google needed a licence for the technology, while Google contends it built Android in a way that doesn't require it to have one.
Oracle is seeking damages that could reach hundreds of millions of dollars if it can prove willful infringement. Perhaps more serious for Google, Oracle wants an injunction that could force the maker of Android into making changes to its code.
It's unclear if Oracle's case is strong enough to win an injunction, however. It's in a weaker position than when it filed its lawsuit 18 months ago. Of the seven patents it originally asserted, five have been invalidated by the US Patent and Trademark Office, and a sixth expires at the end of the year.
Oracle also has copyright claims, and has produced examples of where it says Google copied its code. The copyright claims are now the strongest part of Oracle's case, according to patent expert Florian Mueller.
The trial may be significant even for developers of other platforms besides Android, because it could set a precedent as to whether software APIs (application programming interfaces) can be protected by copyright.
The trial will be in three phases, starting with the copyright claims, followed by the patent claims. If Oracle prevails at either of those stages, a third phase will address what damages it's entitled to.
The trial will likely see high-profile executives called to the stand, including Andy Rubin, the head of Google's Android business. Some of the discussion will be highly technical, and the judge has ordered both sides to produce a video tutorial to help the jury understand concepts such as APIs and class libraries.
Both sides agree that the Java programming language is not covered by copyright and that developers can use it freely without a licence. But one point they disagree on is whether Google needed a licence for the Java APIs used to implement the language.
Google argues that it doesn't, because the APIs are "integral to and part of the Java programming language." The APIs are required for developers to write Java-compatible programs, Google says, and the U.S. courts have ruled in the past that code required for interoperability can't be subject to copyright.
"Without the APIs, the Java programming language is deaf, dumb and blind," Google's lawyers wrote in a trial brief last week.
Oracle counters that the Java APIs are so elaborate and complex that they constitute creative works and should be protected in the same way. It also says that Google used the APIs to create "not a compatible version of Java, but an incompatible one."
If a jury agrees with Oracle about the Java APIs, the decision would be bad news for developers, according to Simon Phipps, a former Sun employee who managed the company's open source projects before Sun was acquired by Oracle.
"If Oracle wins, the decision could set a legal precedent that legitimises controlling behaviours by platform vendors - and introduces a complex and unwelcome legalism into software development," Phipps explained.
If the trial reaches the damages stage, a lot will depend on whether Oracle can convince the jury that Google's infringement was willful. Fines are automatically tripled if a defendant knowingly violated a company's intellectual property.
Oracle acquired the rights to Java when it bought Sun in early 2010. It's likely to present evidence at trial showing that Google tried and failed to negotiate a Java licence with Sun in 2006, when it started developing Android.
Oracle is also expected to cite an internal email that Google tried repeatedly to have excluded from the case. In it, a Google engineer who was asked to investigate alternatives to Java for use in Android concludes that "they all suck" and that Google must negotiate a license for Java.
Judge William Alsup, who is hearing the case, has said in court that the email could be enough to convince a jury that Google knew it required a licence for Java but pushed ahead anyway.
A finding of willful infringement would increase Oracle's chances of getting an injunction. But Alsup will consider other factors too, such as whether Oracle would suffer "irreparable harm" without an injunction and whether an injunction is in the public interest.
An injunction forcing Google to remove any infringing code from Android would be an important strategic victory for Oracle, Mueller said. The technical changes to Android could require developers to rewrite their Android applications, he said. An injunction could also pressure Google into striking a deal on Oracle's terms.
At the same time, any injunction could be delayed pending the outcome of an appeal by Google.
Oracle has argued all along that its objective is to prevent an incompatible version of Java spreading in the market. That's a laudable goal, said Gartner analyst Mark Driver. But he thinks Oracle is equally motivated by financial gain.
Sun rarely used the courts to protect Java and often seemed more interested in ensuring the technology was widely used. Indeed, when Google launched Android in 2007, former Sun CEO Jonathan Schwartz wrote a blog post congratulating Google and saying Android effectively "strapped a set of rockets" to Java.
Oracle has since deleted the blog post.
"Sun's dictatorship was so benevolent that it led us to think Java was open," Gartner's Driver said. "But Oracle is just willing to be much more aggressive about it."