The Quest to Build a Truly Free Version of Android

You've probably heard that Android is free and open source. But that's not entirely true, and the team behind Replicant wants to change that. Replicant is an independent version of Android that includes no proprietary software whatsoever. But the Replicant team doesn't like the term open source. They prefer the term "free software," because to them, Replicant is all about freedom.
Image may contain Transportation Vehicle Sports Car Automobile Car Race Car and Coupe
Paul Kocialkowski, one of the core developers of Replicant.Photo: Replicant

You've probably heard Android is free and open source. But that's not entirely true.

Although most of the code in the Android Open Source Project is indeed open source, much of the software that interacts with hardware components like GPS chips, cameras and graphics is proprietary. And then there's Google Play, Gmail, Google Maps, and other Google-branded software, all of which is proprietary and requires Google's permission to distribute. In fact, if you were to strip out all the proprietary software, you wouldn't be able to do much with an Android phone.

The team behind Replicant wants to change that. Replicant is an independent version of Android with no proprietary software whatsoever. But the Replicant team doesn't like the term open source. They prefer the term "free software," because to them, Replicant is all about freedom.

The term "free software" was coined in the early 1980s by Richard Stallman, the original developer of the UNIX clone GNU. "'Free software' means software that respects users' freedom and community," Stallman wrote for the Free Software Foundation website. "Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software."

Although most software that is considered "open source" also is considered "free software" according to this definition, Stallman has argued the terms imply different values. "For the Open Source movement, non-free software is a suboptimal solution," Stallman later wrote. "For the Free Software movement, non-free software is a social problem and free software is the solution."

That's the spirit the Replicant team follows.

"It's a matter of not accepting unjust power over your computing and more generally, over your life," says Paul Kocialkowski, a lead developer of Replicant. "Anyone who understands and values this point will understand why free software matters."

Replicant was founded in 2010, though its origins date to the release of the HTC Hero/G1, the original Android phone, in 2008. "A few people started looking at the Android source code closely to find out what proprietary software was in there," says Kocialkowski. The free and open source software communities quickly realized that there were many proprietary components needed to run Android, so various developers started building alternatives. The original Replicant team -- Bradley M. Kuhn, Aaron Williamson, Graziano Sorbaioli, and Denis Carikli -- began gathering these components into a single build of Android free of proprietary software. Carikli, the only founding member still actively involved in the project, was responsible for quite a bit of the alternative code, Kocialkowski says.

Today Replicant supports 10 different devices, but it's based on CyanogenMOD, another fork of Android that supports dozens of devices. But CyanogenMOD gets around the restrictions placed on redistributing Google's apps and other proprietary code by backing up the original copies from a user's phone before installing the replacement operating system. That way the user can enjoy the advantages a custom version of Android without giving up proprietary software. But Kocialkowski and company are looking to eliminate proprietary software from their devices completely, so Replicant has no such backup features -- every bit of code included is free.

Perhaps the most noticeable absence from Replicant is Google Play, the app marketplace most Android users depend upon for apps and media. To make up for this, Replicant includes a free and open source app store called F-Droid. Both the source code for the F-Droid application and all the apps available through F-Droid are free and open source. "In the past, there have been attempts to create a Replicant Market application, to replace what was at the time known as the Android Market, now renamed Google Play Store," says Kocialkowski. "These attempts didn't succeed, but thankfully, F-Droid was being developed at the time by other individuals."

The hardest task facing the Replicant developers is reverse-engineering all of the software to support all of the hardware in any given device without relying on proprietary drivers. "We are constantly trying to figure out what magic happens in a locked-down black box and we don't always succeed," he says. "That is why Replicant is far from supporting all the hardware features of the devices it runs on."

"The biggest challenge we are facing today is the lack of proper graphics acceleration with free software, that may compromise the very possibility of having anything newer than [Android] version 4.0 running on devices without the non-free blobs for graphics acceleration," he says. "We are currently investigating the use of Mesa, the well-known free software *GL library, with its software rendering backends."

Although there are a few other open source mobile operating systems out there, Kocialkowski thinks Android is still the free software community's best hope for a truly free mobile operating system. "Maemo, FirefoxOS and Ubuntu Touch all have the same freedom issues as Android since they require non-free blobs to support the hardware properly," he says. Plus, Android has more developers and devices than the alternatives. "So instead of wasting our time porting to a new system that is at best just as flawed as Android, we prefer to keep going with basing Replicant upon Android."

Also, there's usually some proprietary software lurking on Android phones -- even those that use Replicant. "Always keep in mind that not everything on the phone magically becomes free software after installing Replicant," Kocialkowski says. "Installing it only frees the system, but there are other (pre-installed) components that remain non-free, such as the bootloader, the modem firmware, etc."

He also says that while free software is more trustworthy than proprietary software, phones present some unique security issues. "The operator can track down the user's location at any time, by comparing the time of arrival of the phone's signal among different transceivers, it can (and does) keep track of every phone call, message, data transfer, etc.," he says. "Running Replicant is an advantage for security, obviously, but it's far from making phones anything that we can seriously call secure. It's one step towards security, but if you really care about security, you should avoid using a phone at all."

But for those still using phones, Replicant is about as pure a free software experience as you can get.