Android has made massive strides forward since its debut in 2008, and in Q3 2011 more than half of all smartphones sold worldwide ran Google's mobile platform. In one sense it represents a massive validation for open source, and proof that free software is not condemned to a future of 'merely' running servers.
At Android's core is the Linux kernel, and many of the other components are made available under open source licences. However, Free Software Foundation Europe has only described Android as "mostly free", and Richard Stallman, founder of the free software movement, noted in an September 2011 op-ed that Android includes "nonfree 'binary blobs'"; that is, compiled code for which the source is not available for users to read and modify. This issue is at the heart of free software.
"Android platforms use other nonfree firmware, too, and nonfree 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," Stallman wrote.
It is this reliance on non-free software that led to the creation of the Replicant project (named after the androids in 1982's Blade Runner). It came about because "the Android Open Source Project [AOSP], is not, in fact, entirely free software", Paul Kocialkowski told Techworld Australia.
Kocialkowski is the current Replicant lead developer. He got involved in the project after his Neo FreeRunner, a smartphone released in 2008 that ran the open source Openmoko OS, broke down. "I needed another phone running free software," Kocialkowski explains.
"When Android 1.0 was released [in 2008], along with the HTC Dream/Google G1, lots of people were excited to see a free mobile operating system, though we already had the Openmoko Neo 1973 and Neo FreeRunner initiatives.
"However the ones who wanted a truly free operating system, without any non-free blob running on CPU, soon discovered that AOSP relied on non-free blobs, and were disappointed.
"These non-free blobs are always the pieces of software which are dealing with the hardware, like a camera library, or the part that deals with the modem, the RIL [Radio Interface Layer]. As a result, some decided to start a project aiming to run a truly free version of Android on the HTC Dream/Google G1 — Replicant was born."
"Of course, we are free software supporters," Kocialkowski says. "Some people agree with these principles but in reality, may use non-free software from time to time, for convenience issues. The Replicant team is composed by people who are going one step further: in addition to agreeing with these principles, we fully reject anything non-free running on the main CPU."