The dust isn’t going to settle soon on yesterday’s news of Oracle claiming that Google infringed upon seven of its patents through code used in the Android operating system. Indeed, Oracle’s complaint is generating interest and speculation not only with regard to Android, but also to other platforms that use Java, which Oracle has owned since purchasing Sun in January of this year. For now, however, the focus is on Google Android, which has recently surpassed both iOS worldwide and the BlackBerry platform in the U.S. The complaint isn’t a cut-and-dry open source case, as I’ve learned from various sources — and it probably should have been expected. Here’s what the web is saying:
Miguel de Icaza, a programmer instrumental in the creation of the GNOME desktop environment for Linux, says the history for the current complaint started before Android was even born, as Google and Sun couldn’t agree on Java ME licensing terms:
When it became clear that they would not be able to reach an agreement, Google started a project to replace Java Micro Edition and they used some clever engineering techniques that blended the best of both worlds. It is likely that during these negotiations, Google threatened to build their own Java runtime and Sun countered with a list of patents. This would explain why Google went through the trouble of making the Dalvik virtual machine explicitly incompatible with the existing Java virtual machine instructions.
Although Dalvik uses a different set of instructions, Google created a translator that recompiled Java code into Dalvik code, and with this, they worked around whatever licensing technicalities they were aware at the time of the negotiations.
Needless to say, Sun was not happy with Dalvik. Not only because Sun had lost a large licensing deal, but also because it had the potential of becoming the de-facto Java virtual machine that everyone on the embedded space would pick instead of Sun’s own Java Micro Edition.
David Vellante, founder of the Wikibon Project, points out that Google’s creation of the Dalvik Virtual Machine — where Android apps actually run — was a must for Google because Sun left out one key component for mobiles when Sun open-sourced Java:
“In the license there is a “Classpath Exception” which is a crucial provision (see last paragraph) that allows developers to link their code to Java without the need to fall under a GPL license—meaning developers can make their own licensing terms and not be bound by GPL. Here’s the rub – Sun only included the Classpath Exception for the core Java platform – it’s not included the mobile edition. So Sun brilliantly appeared to be playing open source benefactor while at the same time keeping control of the mobile side of the equation (i.e. the rights to the gold mine).
Google, realizing what Sun had done, developed an end run strategy to Sun’s move, which resulted in Dalvik. Davlik (sic) is a virtual machine, similar to the VMs in Java or .Net. Google developed it from scratch (most likely with the team of Java engineers it hired in mid last decade). Google made Davlik (sic) open source skirting Sun’s GPL license (which doesn’t include the Classpath Exception for mobile). Because of Davlik (sic), Google doesn’t have to ship Java Virtual Machine with Android yet its Android developers can still use the core Java integrated development environment (IDE). Google gets to have its cake (leveraging the Java community) and eat it too (by shipping its own VM with Android thus skirting Sun’s licensing terms).”
While many in the tech world were surprised by Oracle filing complaint against Google, high level people formerly at Sun aren’t surprised. James Gosling, known as the “father of Java” for creating the original design of the language, almost expected such a situation:
“Oracle finally filed a patent lawsuit against Google. Not a big surprise. 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….”
Now that some of the history and details of why this complaint even exists, some are looking forward to potential implications. Florian Mueller, a software developer and government affairs professional, worries on the FOSS Patents blog that Google may only protect itself and not partners in the Android ecosystem:
In the WebM context I have previously pointed out that Google must demonstrate its willingness and ability to protect those who adopt its open source technologies, such as Android and WebM.
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.
If nothing else, the current complaint emphasizes at least two key points. First, the term of “open source” is bandied around far too often without full understanding of what is — and what isn’t — covered by the phrase. The licensing of open source code bit are surely going to be scrutinized more in the future as a result. And secondly, Oracle may have finally found something in Java that Sun sought but struggled to find: a way to make money thanks to the reliance of Java on mobiles.