The battle between Google and Oracle over Android is more than an abstract legal fight, says activist and programmer Florian Mueller. It highlights how Google uses “open” software to further its own ends.
A few months ago, Oracle sued Google, claiming that Google’s Android mobile OS contains code from Java, which Oracle owns the rights to.
Mueller sparked an online fight on Friday by posting specific Android files that appeared to be lifted almost directly from Java. Tech writers for ZDNet and Ars Technica slammed Mueller, claiming that the files weren’t important, weren’t really used by Android, and probably aren’t shipping with most Android devices anyway. Mueller answered his attackers in another post on Sunday, pointing out that handset makers Motorola, LG, and Samsung are in fact redistributing the copied code online, if not necessarily in devices.
In a phone interview, Mueller explained that the real interesting issue here isn’t so much whether Google violated Oracle’s copyright.
It’s about the licence. Somebody took the Java files, which were licensed under an open-source licence called the GPL (used most famously by Linux), and changed the header so they appeared to be licensed under the different Apache licence.
So what? The GPL is among the most restrictive open source licenses, and is meant to ensure that code that’s created open stays open forever. Code that is licensed under the GPL may never be modified and then packed into other code that’s proprietary.
The Apache licence doesn’t have this particular restriction.
With Android, Mueller explains, Google has preferred the Apache licence because it allows handset makers and carriers to take the core Android code and add proprietary layers on top of it. This gives these Android partners a way to differentiate their products — without it, every Android handset would be fundamentally the same.
In other words, whoever made these changes opened up Oracle’s code to uses that it was never intended for — and these uses happen to work better with Google’s business model for Android.
Mueller was careful to say that he has no idea whether the person who made these changes did so intentionally. He also noted that Oracle isn’t exactly acting out of altruism here — it licenses certain Java code under the more restrictive licence precisely because it wants to retain more control of the Java development process and push developers toward Oracle-proprietary technologies. (Apache resigned from a Java oversight committee in November over the issue.)
The whole dispute is a good reminder as well that “open” is a heavily loaded term, and that companies and and do use it for their own business ends. Keep that in mind when the open-source zealots start to speak.