Nearly everybody knows that Android is built on top of a Linux kernel, so that should mean that it is good old-fashioned open-source software, right?
Actually, that’s not the case. Since Linux is released under the GNU Public license, Google is forced to release the source code for the Linux kernel that Android runs on.
While many other software components on the phone are licenced under the Apache 2.0 license which allows the software to be distributed freely, this license does not necessarily require that the source code be released.
To make matters worse, Google has allowed many vendors to introduce their own completely closed source binary drivers and libraries into the operating system. This means that the user community is unable to modify and redistribute their own working firmware.
Certainly, the source code of earlier versions of Android has been released by Google, but the released code, on its own, is insufficient to actually run Android on most devices. To make matters worse, earlier this year, Google announced that it would not release the source code for Android 3.
While that probably doesn’t bother the vast majority of users, hackers get particularly upset when they feel that they don’t truly own the system that they are using. So it was inevitable that a group of hackers would attempt to build their own fully working open source Android stack from scratch. Enter Replicant.
Replicant is a direct attempt at rebuilding a functional Android image that only makes use of free and fully open-source software.
It’s taking time, and currently only a small number of phones are supported running the Replicant 2.2 pre-release operating system.
But it is certainly true that Replicant has actually managed to provide proof that it is possible to use some phones running on entirely free and open-source software.
While it is possible to use the Google Apps Market on Replicant phones, Replicant provides its own Market repository that requires that all software provided via the Market is properly open-source under the GNU Public License.
Replicant has some advantages if you’re concerned about things like privacy. Around the beginning of the year, the big phone scandal was that many phone vendors including Apple and Google were actually tracking phone positions along with timestamps and storing this data on the phone.
To make matters worse, if the phone was connected to a computer and synchronized this data would be copied to the computer at the same time. Back in April, a review of Replicant source code found that location data was not stored on phones running the Replicant operating system.
That’s because the code that was responsible for performing this nefarious activity was built into one of those proprietary drivers that Replicant has helped to do away with.
This month, Replicant released videos of their Operating System in action.
For many people, the video will be pretty boring. It shows off the ability to receive a call, make a call, send a text message and other very basic phone functionality. So nothing seems particularly new or innovative.
However, understanding that to do this it needs to access phone hardware, and its doing this all with open-source software that has been engineered to work on the phone by the open-source community is very important. Backward engineering drivers to support multiple phone devices is a long and arduous task. As each new phone is released, the task becomes bigger. But Replicant developers are dedicated to their cause, and ultimately their work will help to free phones from proprietary software.
Why is that so important? Richard Stallman, the beardie champion of the open-source movement, points out that the non-release of two versions of Android source code raises concern that Google might intend to turn Android proprietary permanently; that the release of some Android versions as free software may have been a temporary ploy to get community assistance in improving a proprietary software product. He goes on to say that point of free software is that we have control of our computing.
Many users have criticised Stallman’s veracity of support for proper open source development, with some going as far as describing his approach as supporting a ‘communist dystopia’. However, it is important to remember that without the original open-source movement, there would be no Android to begin with.
In general, the open-source movement encourages innovation and diversity, and all those geeks who spend years of their lives giving away their code have provided much of the software that you use without even thinking about.
It is true that Replicant will probably not get that much uptake from the Android user-base. That’s because most people aren’t hackers and prefer that a large corporate like Google will look after the majority of stability and security issues on the platform with little requirement that the end-user keep abreast of their technology and its potential flaws. Its one of the same reasons that Linux, as a whole, has struggled to gain any dominance on the Desktop.
Nonetheless, projects like Replicant remind us that our freedoms are important and help to keep the big corporates in check. As long as the geeks and nerds keep battling for their vision of truly free software, we will all reap the benefits.
If you’re one of the brave and are willing to take the risk of bricking your phone in the fight for freedom, you can download Replicant and install it following the instructions on their wiki. Be warned though, installing Replicant will nuke your original Android installation and will wipe out any data you already have on your phone.