April 16 sees the start of the court case between Google and Oracle over Android's supposed unlicensed use of Java technology. The case has changed character substantially since it started. Originally a patent lawsuit of epic proportions, various forces of erosion have reduced Oracle's patent case to approximately nothing. What's left is a copyright case that at first sight had many people scratching their heads; the picture hasn't improved much with the passage of time.
Nonetheless, if Oracle wins the case, software developers everywhere -- especially open source developers -- will suffer, not just Google. Here's the background you need to understand the implications.
[ For more on this topic, see "Why software patents are evil," by InfoWorld's Simon Phipps. | InfoWorld's Martin Heller dissected the initial lawsuit in "Oracle's Android lawsuit: A Pandora's box of serious evils." | Subscribe to InfoWorld's Technology: Open Source newsletter to stay on top of the latest developments. ]
Java history in a nutshell
Originally, there were two main elements to Oracle's case against Google. Both relate to Java and are part of the legacy of Sun Microsystems, inherited by Oracle. I was closely involved in the history of Java, having been part of the IBM team that adopted it in 1995, then working at Sun on open source, so a highly condensed Java history from the decade before Android may be helpful.
Back in the early days of Java, in the mid-1990s, Sun was faced with a market where the gorilla was Microsoft, with its instinct to grab anything shiny and potentially standard -- then embrace and extend it so that only Microsoft could benefit. Sun wisely foresaw this threat to Java and built a complex system of copyright, patent, and trademark barriers around it.
Those implementing "100 percent pure Java" were inoculated from all the threats of this bear trap, but anyone who tried to balkanize Java quickly discovered that they were at risk from multiple lawsuits, potentially from multiple companies. The prescience of this protection was vindicated when Microsoft did indeed try to "embrace and extend" Java, and Sun did indeed successfully sue Microsoft for a large sum of money to make it stop.
Fast-forward 10 years and the market had changed completely. A convicted monopolist, Microsoft was following a path previously trodden by IBM following its own antitrust settlement. Smothered in bureaucracy, risking legal action in any market it entered, struggling under out-of-date leadership, it was no longer the biggest gorilla in the jungle. Indeed, it had embarked on a whisper campaign against the new prime primate, Google.
Meanwhile, Google was carving a new path using its systemically generated wealth to fund strategic initiatives in markets most industry watchers had assumed were already stitched up. Most significant, Google created Android, a mobile device platform with Linux at its heart but with Java as its nervous system.
A key part of Google's strategy was for Android to be free from anything that would prevent it from being adopted and deployed anywhere in the world without obstacle by anyone. Wary of any intimate relationship with an obviously failing Sun Microsystems, Google avoided licensing Java from Sun. Doing so would almost certainly have required some form of per-device royalty, meaning adoption of Android would require both tracking and payment for use. But without a license, Google would have to engineer its way around the bear trap.