

In the free/libre software movement, we develop software that respects users’ freedom, so we and you can escape from software that doesn’t. By contrast, the idea of open source focuses on how to develop code; it is a different current of thought whose principal value is code quality rather than freedom. Thus, the concern here is not whether Android is open, but whether it allows users to be free.



The version of Linux included in Android is not entirely free software, since it contains non-free binary blobs (just like Torvalds’ version of Linux), some of which are really used in some Android devices. Android platforms use other non-free firmware, too, and non-free libraries. Aside from those, the source code of Android versions 1 and 2, as released by Google, is free software – but this code is insufficient to run the device. Some applications that generally come with Android are non-free, too.

Android is very different from the GNU/Linux operating system because it contains very little of GNU. Indeed, just about the only component in common between Android and GNU/Linux is Linux, the kernel. People who erroneously think Linux refers to the entire GNU/Linux combination get tied in knots by these facts, and make paradoxical statements such as Android contains Linux, but it isn’t Linux. If we avoid starting from the confusion, the situation is simple: Android contains Linux, but not GNU; thus, Android and GNU/Linux are mostly different.

(Within Android, Linux the kernel remains a separate program, with its source code under GNU GPL version 2. To combine Linux with code under the Apache 2.0 license would be copyright infringement, since GPL version 2 and Apache 2.0 are incompatible. Rumours that Google has somehow converted Linux to the Apache license are erroneous; Google has no power to change the licence on the code of Linux, and did not try. If the authors of Linux allowed its use under GPL version 3, then that code could be combined with Apache-licensed code, and the combination could be released under GPL version 3. But Linux has not been released that way.)


Google said it withheld the 3.0 source code because it was buggy, and that people should wait for the next release. That may be good advice for people who simply want to run the Android system, but the users should be the ones to decide this. Anyway, developers and tinkerers who want to include some changes in their own versions could use that code just fine.



Even the executables that are officially part of Android may not correspond to the source code Google releases. Manufacturers may change this code, and often they don’t release the source code for their versions. The GNU GPL requires them to distribute the code for their versions of Linux, if they comply. The rest of the code, under the lax Apache license, does not require them to release the source version that they really use. Replicant, a free version of Android that supports just a few phone models, has replaced many of these libraries, and you can do without the non-free apps. But there are other problems.



The phone network firmware comes pre-installed. If all it did was sat there and run, we could regard it as equivalent to a circuit. When we insist that the software in a computing device must be free, we can overlook pre-installed firmware that will never be upgraded, because it makes no difference to the user that it’s a program rather than a circuit.



The point of free software is that we have control of our computing, and this doesn’t qualify. While any computing system might have bugs, these devices might be bugs. (Craig Murray, in Murder in Samarkand, relates his involvement in an intelligence operation that remotely converted an unsuspecting target’s non-Android portable phone into a listening device.)

In any case, the phone network firmware in an Android device is not equivalent to a circuit, because the hardware allows installation of new versions and this is actually done. Since it is proprietary firmware, in practice only the manufacturer can make new versions – users can’t.


Recent press coverage of Android has focused on the patent wars. During 20 years of campaigning for the abolition of software patents, we have warned such wars could happen. Software patents could force elimination of features from Android, or even make it unavailable. (See for more information about why software patents must be abolished.)

