Free Your Android
Liberate Your Device!
Even though Android is mostly Free Software, devices usually come with proprietary software and services that prevent people from using them in an independent and autonomous way. Liberate your Android device: learn how to regain control of your data, with a free operating system and free apps!
The Operating Systems
An operating system is a collection of software that enables you to use your phone and run other applications on it. Even though Android is mostly free, many phones ship with proprietary components and add-ons. Some phones also have a locked boot loader which prevents you from booting and installing other operating systems. If you want to buy an Android phone, make sure that the boot loader can be unlocked. On some devices it can only be unlocked with clever hacks and their manufacturers tend to declare your warranty void when you unlock their device's boot loader. But, given European Directive 1999/44/CE, just the fact that you modified or changed the software of your device, is not a sufficient reason to void your statutory warranty. See Carlo Piana's blog for more information. There are also companies that ship their devices with an unlocked bootloader or provide you with the means to unlock it. Besides that, it is a good idea to check if there are free versions of Android supporting the device.
Replicant Replicant is a distribution of Android that is 100% Free Software. Since it does not use any non-free drivers, it currently works on a limited number of devices.
We ask you to help Replicant extend its support to more devices. You can contribute code, and donate devices to the Replicant team for testing purposes.
CyanogenMod is a version of Android which you can use without a Google account. Even though it is usually more free than the software your device comes with, freedom is not its main objective. While CyanogenMod works on most Android devices, it makes use of non-free device drivers and firmware which are fetched from a device and are included in the ROM. Newer versions also include the proprietary Google Play services.
We collected information about how you can help to ensure that CyanogenMod becomes free again, and how to identify and remove non-free parts. If you know about other non-free software applications added to CyanogenMod, please let us know about it!
For most people, the Google Play Store (formerly known as the Android market) is the only or the main source for their applications. It doesn't even tell you whether an app is Free Software or not, let alone its license. Unfortunately, most apps from this or other markets are proprietary. Even if you install a Free Software app, there is no reason to trust the downloaded binary. Using the Google Market also requires a Google account. It is recommended to not use this market at all.
The F-Droid initiative was started to change the sad Free Software app situation in the Android world. It builds a repository of easily-installable Free Software for the Android platform. There is an Android client application that makes it easy to browse Free Software applications, install them onto your device, and keep track of updates. When available it includes information about how to donate money to the authors of the app.
The F-Droid repository contains details of multiple versions of each application. You can also easily create and add own repositories. But since the initiative is very active, developing in a decentralised fashion and open to collaboration, creating own repositories is not really necessary. Its goal is to include all useful Free Software Android applications and to keep up with their updates.
We collected some information about how you can help out F-Droid.
Synchronizing Your Data
When you run only Free Software and when you do not rely on non-free network services like the ones Google offers, it might look like you lose the convenience of synchronizing your contacts, your calender and other data with your other devices. Fortunately, there is plenty of Free Software that does this job as well.
Synchronizing Calendar and Contacts
There are several Free Software server implementations of CalDAV and CardDAV that you can use, such as:
- ownCloud — commercial "key in hand" available at ownCloud Inc. and other hosting options listed in ownCloud supported service providers
- Kolab — commercial "key in hand" available at MyKolab; information on how to configure client applications available on MyKolab Client Configuration page
- SoGO — can replace Microsoft Exchange servers; commercial support available at SoGO consulting services;
- davmail — is not actually a contacts and calendar server, but a gateway to Microsoft Exchange servers providing CardDAV and CalDAV access access. It might be the first step to liberate your PIM data from proprietary solutions.
Each of the devices where you would like to have access to your contacts and calendar needs a CardDAV and a CalDAV client. For desktop you can use:
- Thunderbird with the Lightening calendar extension
- KDE Kontact
- Gnome Evolution
- pyCardDAV to use CardDAV as a address book in mutt (and maybe other email clients) or consulting the CardDAV server from command line.
In the Android devices you can use:
- ACal (at F-Droid) — although it doesn't update the Android calendar and contact database it still a very competent PIM application;
- DAVdroid (at F-Droid);
- CalDAV Sync Adapter (at F-Droid).
To keep files synchronized between devices
- ownCloud android client (at F-Droid) — file synchronization and has a instant upload for photos and videos taken using the device;
- SSH Daemon dropbear — is pre-installed on CyanogenMod and can be used to e.g. run rsync.
Synchronizing feed readers
If you usually keep track of RSS/Atom feeds, then it's nice to be able to keep all devices synchronized. Here are some suggestions of possible free solutions you can use:
- ownCloud New Reader (at F-Droid)
- Tiny Tiny RSS (source of the official Android client, alternative Android client at F-Droid)
- NewsBlur (at F-Droid)
Synchronizing Web Browsers
It's possible to host your own Firefox synchronization server
It's then possible to use Firefox Web Browser advanced setup of the sync configuration to define the new server and credentials to use.
Although there is some documentation on how to host your own Chrome Web Browser synchronization server, it is all very "in the air". See issue 181429 of the chromium development issue tracker.