Diff for "Activities/Android"

Differences between revisions 43 and 78 (spanning 35 versions)
Revision 43 as of 2012-02-02 08:18:24
Size: 16090
Editor: anonymous
Comment: these companies are not particularly friendly to Free Software
Revision 78 as of 2017-04-01 08:02:38
Size: 11333
Editor: sabet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Migrated/Android
Line 6: Line 7:
= Free Your Android Phone! = = Free Your Android! =
Line 8: Line 9:
{{attachment:android.png|Android|align=right}}
<<TableOfContents(3)>>
Android is an operating system mainly developed by Google. This page collects information related to FSFE's [[http://FreeYourAndroid.org|Free Your Android Campaign]]. Please start there to get an overview.
Line 11: Line 11:
Android is a [[http://www.gnu.org/philosophy/android-and-users-freedom.html|mostly free]] operating system mainly developed by Google. Unfortunately, the drivers for most devices and most applications from the "market" are non-free. This page collects information about running an Android system as free as possible and tries to coordinate these efforts. While the [[WikiPedia:Android_Open_Source_Project#Android_Open_Source_Project|Android Open Source Project (AOSP)]] is Free Software, mostly under the Apache 2.0 license, it is mostly incomplete and cannot provide a decent user experience on devices without the addition of proprietary libraries (without them you will be unable to use your phone as a phone, the GUI will be slow, GPS and camera won't work, and so on). Android is nearly never shipped as-is on devices.
Line 13: Line 13:
= Political Background = Vendors usually use non-free libraries together with their modified version of Android, for which they usually don't release the source code because they are not required to do so under the terms of the Apache 2.0 license, nor are the sources provided for non-free applications such as those found in the [[WikiPedia:Android_market|Android market]]. Consequently, the only source code they are required to release is that of the Linux kernel they are using, and sometimes the device is even [[WikiPedia:Tivoization|"tivoized"]]. As a result, most devices sold are running non-free software and must be liberated to give the user the freedom he/she requires.
Line 15: Line 15:
== Free Software ==
Smart-phones are small computers that we carry around all the time. Most smart-phones are not controlled by the users, but by the manufacturer and the operator. The software that runs on them is not Free Software. Even Android phones ship with non-free software and proprietary add-ons that usually do not work in the full interest of the user. Software updates will only be made available when the manufacturer still has a commercial interest in your device. The applications (apps) available from the official market are most of the time non-free. Nobody is allowed to study how they work and what they really do on your phone. Sometimes they just don't work exactly as you want, but sometimes they even contain malicious features.
Besides all this, due to the hardware architecture of some devices using Qualcomm system-on-a-chip technology, the liberation of a device may have a very limited effect since the hardware can still spy on you: the modem (a device which communicates with the GSM infrastructure) always runs non-free software and may exert another level of control and/or surveillance over the phone.
Line 18: Line 17:
Running only Free Software on your device puts you in full control.
Even though you might not be able to directly exercise all of your freedom,
you will benefit from a vibrant community that can do it together.
More information is available in an [[http://www.gnu.org/philosophy/android-and-users-freedom.html|article]] written by Richard Stallman.
Line 22: Line 19:
== Privacy ==
Our mobile devices contain more personal information than most private diaries.
But proprietary systems, even most Android phones, are designed
to leave this data in control of companies like Google or Apple. Most
users do not have full control over the personal data on their device.
Convenient solutions for cloud-based synchronization and data backup
trick more and more people into storing all their data on centralized
servers run by some commercial organisation. Whoever has personal
information about us is able to manipulate us. Therefore non-free
devices are a threat to democracy and our society.
= The Operating Systems =
There is some options of different operating systems. You find them below.
Line 33: Line 22:
Privacy is one of the most important reasons to support Free Software.
Proprietary add-ons like [[https://en.wikipedia.org/wiki/Carrier_IQ|Carrier IQ]]
spy on smart-phone users without their knowledge.
Many apps from the market contain malicious features.
They read your private data and “phone home”,
or they use [[https://code.google.com/apis/analytics/docs/mobile/android.html#overview|Google Analytics]]
to send data to Google. These are just examples that have been
discovered so far. The lack of freedom impedes independent inspection
and secret spy features only become known by accident.
== What about the warranty? ==
Some manufactures tell you that your warranty will be void when you flash a different operating system onto your Android device. FSFE's legal team [[https://fsfe.org/news/2012/news-20121106-01.en.html|published a legal opinion]], concluding that
modifying or changing the software on your phone is not a sufficient reason for the vendor or manufacturer to void your statutory warranty.
Line 43: Line 26:
Most smart-phones require you to connect and identify yourself to a
centralized server before you can use them properly. Users have to trust
the server without knowing what information is stored and how it is
processed or related to other data. A phone running only Free Software
does not require you to provide data to an untrustworthy company or
pressure you to do so ­– at least this is very unlikely, as the
software’s actions would be obvious and the community would be able to
develop an alternative version. The convenience of “value-added”
services that are often coupled with such connections can be provided
using Free Software as well. This keeps you in control of your personal
data, your diary remains in your possession. You can have the cake and
eat it too.
In this section, we are collecting experiences that people have had in claiming their warranty for phones with modified software. Record your experience here, and make life easier for those who come after you!
Line 56: Line 28:
= The Operating System =
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 [[http://www.gnu.org/philosophy/android-and-users-freedom.html|mostly free]], many phones ship with proprietary components and add-ons. Some phones also have a locked [[https://en.wikipedia.org/wiki/Booting#Boot_loader|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 [[http://wiki.cyanogenmod.com/?search="unlock+bootloader"|unlocked]] and that there are free versions of Android [[http://www.cyanogenmod.com/devices|supporting the device]].
... please add your experience with manufacturer warranty here ...
Line 59: Line 30:
== Replicant OS ==
[[http://replicant.us/|Replicant]] is a distribution of Android that is 100% Free Software. It runs only on [[http://replicant.us/supported-phones/|a very limited number of devices]]. If you have one of these devices, then this is your choice.

== Replicant with the Nexus S ==
If you have a Nexus S the more efficient way to free your device is to install Replicant on it. Replicant takes !CyanogenMod and replaces or removes the non-free libraries, shipping an Android Market alternative (named FDroid) that permits the installation of applications that are known to be Free Software.

The Nexus S is currently the Android phone that respects your freedom the most if used with Replicant. There are other phones that respect or promote the principles of freedom more (such as the !OpenMoko !FreeRunner) but they are not principally designed purely to run Android.

=== The Good ===
 * The modem is isolated and doesn't control the sound card nor the GPS and cannot read/write to the memory accessed by the main CPU (the one running Android). It cannot access the main CPU filesystem if used with Replicant.

=== The Bad ===
 * !WiFi and Bluetooth functions depend on non-free firmware.
 * The bootloader is proprietary, partially signed and hard to replace.
 * To be able to use the modem (necessary for phone calls), firmware needs to be loaded in the modem CPU, however such firmware is already present on the storage of the phone. After the firmware is loaded, the modem cannot access the main CPU filesystem if used with Replicant.

== Replicant with the HTC Dream or the Nexus One ==
If you have a Qualcomm device you should consider buying a Nexus S, but if you can't you should install Replicant on it. The non-free libraries present on these phones may perform a form of surveillance or spying. Installing Replicant which replaces or removes these libraries ensures that the undesirable activities of such libraries is no longer a threat. However, the modem runs non-free software and controls your "sound card" (think about the implications of non-free software controlling your microphone), your GPS, and can read/write from/to the main CPU memory. That's why it's a second-choice solution.

Note that the Nexus One requires firmwares for making phone calls while the HTC Dream doesn't.

The Nexus One is compatible with Replicant 2.2 and 2.3 while the HTC Dream is compatible only with Replicant 2.2 and below.
Line 63: Line 52:
{{attachment:cyanogenmod.png|CyanogenMod|width=250,align=right}}
[[http://www.cyanogenmod.com/|CyanogenMod]] is the most popular aftermarket distribution for Android. It [[http://www.cyanogenmod.com/devices|runs on many phones]] and offers [[http://www.cyanogenmod.com/about/features|features]] not found in the official Android based firmwares of vendors. It also ships without Google applications and gives you more freedom over your device. !CyanogenMod is Free Software developed by an active community. It still requires [[https://github.com/CyanogenMod/android_device_semc_iyokan/blob/gingerbread/proprietary-files.txt|non-free device drivers and firmware]] which are [[https://github.com/CyanogenMod/android_device_semc_iyokan/blob/gingerbread/extract-files.sh|fetched from a device]] and are included in the ROM.
If you cannot buy a Nexus S and your phone is not supported by Replicant but is supported by !CyanogenMod you should consider installing !CyanogenMod, but without installing the Google applications, installing FDroid instead. This will ensure that only Free Software applications will run on top of !CyanogenMod which is partially free (it ships non-free libraries).
Line 66: Line 54:
In order to install !CyanogenMod, your device's boot loader needs to be unlocked. Some manufacturers consider your warranty void when you've unlocked its boot loader. The [[http://wiki.cyanogenmod.com/wiki/Main_Page|Wiki of CyanogenMod]] contains detailed instructions on how to install it. Note that here is a DRM provider app that you can [[http://wiki.cyanogenmod.com/w/Barebones|remove]].
Line 68: Line 56:
After the installation, your phone will be freed from all those pre-installed proprietary applications and there will be no need to connect your phone with a Google account. With the exception of some non-free device drivers, your phone should run only Free Software. If you know about non-free software added to !CyanogenMod, please let us know about it! There is a DRM provider app that you can [[http://wiki.cyanogenmod.com/wiki/Barebones|remove]]. === Non-Free Parts ===

!CyanogenMod includes non-free firmware which is required for most of the hardware to work.
For each device these non-free files [[https://github.com/CyanogenMod/android_device_semc_iyokan/blob/gingerbread/proprietary-files.txt|are known]].
We need to help !CyanogenMod so they don't need relying to rely on non-free drivers.
In the meantime, we need to ensure that at least the rest of !CyanogenMod stays free.
So if you know about non-free software (except drivers and firmware) added to !CyanogenMod, please let us know about it!

!CyanogenMod 7 and 9 ship the [[http://clockworkmod.com/|ClockworkMod App]] that is not free. Also there seems to be a non-free flash-plugin shipped with the default browser.
Since !CyanogenMod 10 they use Google Analytics for statistics and ship Google's non-free client library. CMAccount, which was added to !CyanogenMod 10.1, uses Google Cloud Messaging for server/client-communication and includes the Google Play Services client library that is proprietary.

Ideally, we get !CyanogenMod to remove those non-free parts. If we don't manage, we should write some script or app that removes all those parts easily for the user.
Line 71: Line 70:
For most people, the [[https://market.android.com/|Google 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.
Line 73: Line 71:
== F-Droid ==
{{attachment:fdroidlogo.jpg|F-Droid|align=right}}
The [[http://f-droid.org/|FDroid 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.
== FDroid ==
[[http://fdroid.org/|FDroid]] is easy to install and provides free applications.
Note that it doesn't require root permissions and is very easy to install, even without the command line.
Line 77: Line 75:
The FDroid repository contains details of multiple versions of each application. You can also easily create and add own repositories. But since the initiative is [[https://gitorious.org/f-droid/fdroidserver|very active]], developing in a decentralized fashion and open to collaboration, creating own repositories it not really necessary. Its goal is to include all useful Free Software Android applications and to keep up with their updates. == Apps That Still Need To Be Liberated ==
Please add apps here that have no free counterpart, but are important to have on a free system. People can [[https://fsfe.org/campaigns/android/help.en.html#FreeingApps|contact the authors]] of those apps and ask them why they are not Free Software.
Line 79: Line 78:
You can help to make FDroid [[https://code.google.com/p/cyanogenmod/issues/detail?id=3789|preinstalled on CyanogenMod]] so more people can benefit from a free market.  * --('''Public Transport''' App)--
   * --([[http://oeffi.schildbach.de/index.html|Öffi]] is a very popular app which builds upon a [[http://code.google.com/p/public-transport-enabler/|Free Software library]] by the same author.)--
   * There is now a Free Software alternative called '''[[https://transportr.grobox.de/?utm_source=fsfe_wiki|Transportr]]''' that is still looking for contributors.
 * --('''Menstruation Calendar''' and Calculator)--
   * There is now '''[[https://f-droid.org/repository/browse/?fdid=de.arnowelzel.android.periodical|Periodical]]'''
 * '''All-round-Backup''' (You can only [[http://wiki.cyanogenmod.com/w/Howto:_Nandroid_Backup|backup your entire flash]] with !CyanogenMod's bootloader or use [[http://f-droid.org/repository/browse/?fdfilter=backup|apps]] that backup only some data)
   * There is now also '''[[https://f-droid.org/repository/browse/?fdid=dk.jens.backup|oandbackup]]''' that can backup your apps.
 * '''GSM-Hacking'''
   * something like [[http://www.silentservices.de/products/android-hushsms/|HushSMS]] which is non-free.
 * '''Special Keyboard'''
   * missing a Keyboard with lager keys like [[https://www.exideas.com/ME/downloadsAndroid.php|MessagEase]]
 * '''slow Network Browser'''
  * missing a browser for slow mobile networks with an turbo mode like [[http://www.opera.com/mobile/mini/android|Opera Mini]] or [[https://browser.yandex.com/mobile/?lang=en|Yandex.Browser]]
 * '''Car Sharing Map'''
  * missing a car sharing map like [[https://mymobilitymap.de/mobile|Mobility Map]]
 * '''App for [[http://dict.cc|dict.cc]]'''
  * at the moment, there is no foss app to use the great dictionary from [[https://play.google.com/store/apps/details?id=cc.dict.dictcc|dict.cc on playstore]]
  * But there's [[https://f-droid.org/repository/browse/?fdfilter=dict&fdid=com.hughes.android.dictionary&fdpage=2|QuickDic]]
 * Missing an '''download manager/accelerator''' for Android
 * '''Unified Network Location Provider'''
  * [[https://github.com/microg/android_packages_apps_UnifiedNlp/blob/master/README.md|MicroG UnifiedNlp]]
Line 81: Line 100:
=== Adding Apps Yourself ===
You are encouraged to add applications yourself. There is a long queue of [[http://f-droid.org/forums/forum/submission-queue/|applications that wait to be added]]. Adding them works similar to [[http://www.freebsd.org/ports/index.html|FreeBSD ports]] and [[http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2|gentoo ebuilds]] by filling a simple recipe file which controls how a package is build from source. If you like to add apps yourself, you should read about [[http://f-droid.org/forums/topic/adding-apps-with-git/|how FDroid works with git]] and [[https://gitorious.org/f-droid/fdroidserver/blobs/master/README|how to write these so called metadata files]].

=== 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, 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:

 * [[http://acal.me/|ACal]] synchronizes your Android addressbook and calendar to [[https://en.wikipedia.org/wiki/CalDAV|CalDAV]]/[[https://en.wikipedia.org/wiki/CardDAV|CardDAV]] servers like [[http://owncloud.org/|ownCloud]].
 * [[https://code.google.com/p/kolab-android/|kolab-android]] synchronizes your Android addressbook and calendar to [[http://www.kolab.org/|Kolab]]/IMAP folders.
 * [[http://wiki.cyanogenmod.com/wiki/Howto:_Connect_to_Device_with_SSH|SSH Daemon dropbear]] is pre-installed on !CyanogenMod can be used to e.g. run [[https://en.wikipedia.org/wiki/Rsync|rsync]].

== Freeing Non-Free Apps ==
Unfortunately, there are still some applications that do not have a free alternative. To use the proprietary app is a bad idea; it takes away your freedom. In addition, if you settle into using the non-free program, you won't feel the need for it to be free. Even if you don't know how to program, you can [[https://wiki.fsfe.org/ConvinceYourFriends|contact]] the authors of crucial apps and [[https://fsfe.pad.foebud.org/en-android|ask them politely]] for their reasons of not publishing their application as Free Software. Many apps are available without payments, so money is not always the dominating reason. Sometimes one email can make a difference and there have already been successful attempts: [[https://market.android.com/details?id=cz.hejl.chesswalk|Chess Walk]] for example is now [[https://gitorious.org/chesswalk/chesswalk|liberated]].

=== Apps That Still Need To Be Liberated ===
Please add apps here that have no free counterpart, but are important to have on a free system. People can contact the authors of those apps and ask them why they are not Free Software.

 * '''Public Transport''' App ([[https://market.android.com/search?q=public+transportation&c=apps&sort=0|market search]])
   * [[http://oeffi.schildbach.de/index.html|Öffi]] is a very popular app which builds upon a [[http://code.google.com/p/public-transport-enabler/|Free Software library]] by the same author.
 * '''Menstruation Calendar''' and Calculator ([[https://market.android.com/search?q=menstrual&c=apps&sort=0|market search]])
   * [[http://www.efrac.com/calendar/|Menstruation Ovulation Period]] ([[https://market.android.com/details?id=com.efrac.Calendar2|market]])
   * [[http://christian-albert-mueller.com/mydays/|My Days – Period Tracker]] ([[https://market.android.com/details?id=com.chris.mydays|market]])
   * [[http://www.dr-hein.com//64/Health_Services/moblie_apps/|Menstruationskalender Lite]] ([[https://market.android.com/details?id=com.drhein.healthservices.menstruationlite|market]])
   * [[http://witiz.com/apps/menstrual-calendar/|Menstrual Calendar]] ([[https://market.android.com/details?id=com.guillaumegranger.mc|market]])
 * '''All-round-Backup''' (You can only [[http://wiki.cyanogenmod.com/wiki/Howto:_Nandroid_Backup|backup your entire flash]] with !CyanogenMod's bootloader or use [[http://f-droid.org/repository/browse/?fdfilter=backup|apps]] that backup only some data)
   * [[http://www.matrixrewriter.com/android/|Titanium Backup]] ([[https://market.android.com/details?id=com.keramidas.TitaniumBackup|market]])
   * [[http://www.rerware.com/Android-Backup/|MyBackup]] ([[https://market.android.com/details?id=com.rerware.android.MyBackup|market]])
Line 110: Line 103:
Only when we understand the motivation of programmers who keep their apps proprietary, we know what needs to be changed in order to change their minds and to convince them of liberating their own app. Please contribute your experiences with developers of non-free apps here and share useful responses to their objections.
Line 112: Line 104:
 * Objection: If I publish my app as Free Software, I will not be able to make money with it.
   * You can still offer your app in other markets and ask for money there.
   * Offer options for people to donate. Free markets like FDroid can include them and their users like to reward. Depending on your case, you might make more money with donations than from sales.
 * Objection: But when my app is Free Software other people can distribute it without me getting profit.
   * That is true, but keep in mind that people who don't want to pay you will always find ways to do so.
   * If you ask people in a friendly non-obtrusive way and give them good reasons, they will give you money.
   * In case other people distribute your app without charge over markets, there are ways to stop that. Talking to the distributor or the market operator is one way.
 * Objection: I'm embarrassed by my bad code and don't want anybody to see it (from [[http://blog.flattr4android.com/?p=52|Flattr4Android]]).
   * Your code is very useful to many people and it works. Of course good code would be better, but code quality is secondary to freedom.
   * Everybody wrote bad code at some point. Sharing it will enable others to help you improving it.
We already collected objections and responses on [[https://fsfe.org/campaigns/android/help.en.html#id-responses-to-objections-weve-heard-from-app-developers|FSFE's Free Your Android Campaign]]. If you know more, please add them here.
Line 124: Line 108:
= Development =
Line 125: Line 110:
= Contact and Contributing =
If you want to stay informed or like to work with others on a free Android system, you can '''[[https://lists.fsfe.org/mailman/listinfo/android|subscribe to the mailing-list]]'''. You can also ask questions or give input by writing to [[mailto:android@lists.fsfe.org|android@lists.fsfe.org]]. For technical questions about apps, the [[irc://irc.freenode.net/fdroid|F-Droid IRC channel]] is a good place to ask. For exchange about the lower layers of Android, the [[irc://irc.freenode.net/cyanogenmod|CyanogenMod IRC channel]] is more suitable. Everybody in this community is very friendly and loves others to help, so don't be shy and get involved!
Here, we collect free alternatives to resources that can be important for Android development such as free replacements for important proprietary libraries.
Line 128: Line 112:
== Google Play Services ==
Line 129: Line 114:
= Other Phone Related Initiatives =
Even though this page is about Android, there are other important initiatives that also have the goal to allow you using a phone in freedom. There is the spiritual Openmoko continuation [[http://projects.goldelico.com/p/gta04-main/|GTA04 from Golden Delicious]]. It builds a free phone without the need for proprietary drivers. The [[https://en.wikipedia.org/wiki/Maemo|Maemo]]/[[https://meego.com/|MeeGo]] initiative has now moved into [[http://merproject.org/|Mer]] and [[https://en.wikipedia.org/wiki/Tizen|Tizen]] and tries to be an alternative free operating system. Also WebOS is [[http://developer.palm.com/blog/2011/12/open-source/|about to be liberated]].
=== Location APIs ===

 * [[https://mapzen.com/blog/open-source-location-services-with-lost/|Mapzen Lost]]

=== Maps ===

 * [[https://github.com/osmdroid/osmdroid|OsmDroid]]
 * [[https://www.mapbox.com/android-sdk/|Mapbox Android SDK]]
 * [[https://mapzen.com/documentation/android/|Mapzen Android SDK]]

=== Service Core (GmsCore) ===

 * [[https://github.com/microg/android_packages_apps_GmsCore/wiki|MicroG GmsCore]]

=== Services Framework Proxy (GsfProxy) ===

 * [[https://github.com/microg/android_packages_apps_GmsCore/wiki|MicroG GmsCore]]
Line 134: Line 134:
----
[[Category/Activities]]

This is a wiki page that everybody can edit. Check the history for the last authorized version. If you are a Fellow of the FSFE you can login right now with your usual Fellowship username and password; non-fellows can create a guest account.

Free Your Android!

Android is an operating system mainly developed by Google. This page collects information related to FSFE's Free Your Android Campaign. Please start there to get an overview.

While the Android Open Source Project (AOSP) is Free Software, mostly under the Apache 2.0 license, it is mostly incomplete and cannot provide a decent user experience on devices without the addition of proprietary libraries (without them you will be unable to use your phone as a phone, the GUI will be slow, GPS and camera won't work, and so on). Android is nearly never shipped as-is on devices.

Vendors usually use non-free libraries together with their modified version of Android, for which they usually don't release the source code because they are not required to do so under the terms of the Apache 2.0 license, nor are the sources provided for non-free applications such as those found in the Android market. Consequently, the only source code they are required to release is that of the Linux kernel they are using, and sometimes the device is even "tivoized". As a result, most devices sold are running non-free software and must be liberated to give the user the freedom he/she requires.

Besides all this, due to the hardware architecture of some devices using Qualcomm system-on-a-chip technology, the liberation of a device may have a very limited effect since the hardware can still spy on you: the modem (a device which communicates with the GSM infrastructure) always runs non-free software and may exert another level of control and/or surveillance over the phone.

More information is available in an article written by Richard Stallman.

The Operating Systems

There is some options of different operating systems. You find them below.

What about the warranty?

Some manufactures tell you that your warranty will be void when you flash a different operating system onto your Android device. FSFE's legal team published a legal opinion, concluding that modifying or changing the software on your phone is not a sufficient reason for the vendor or manufacturer to void your statutory warranty.

In this section, we are collecting experiences that people have had in claiming their warranty for phones with modified software. Record your experience here, and make life easier for those who come after you!

... please add your experience with manufacturer warranty here ...

Replicant with the Nexus S

If you have a Nexus S the more efficient way to free your device is to install Replicant on it. Replicant takes CyanogenMod and replaces or removes the non-free libraries, shipping an Android Market alternative (named FDroid) that permits the installation of applications that are known to be Free Software.

The Nexus S is currently the Android phone that respects your freedom the most if used with Replicant. There are other phones that respect or promote the principles of freedom more (such as the OpenMoko FreeRunner) but they are not principally designed purely to run Android.

The Good

  • The modem is isolated and doesn't control the sound card nor the GPS and cannot read/write to the memory accessed by the main CPU (the one running Android). It cannot access the main CPU filesystem if used with Replicant.

The Bad

  • WiFi and Bluetooth functions depend on non-free firmware.

  • The bootloader is proprietary, partially signed and hard to replace.
  • To be able to use the modem (necessary for phone calls), firmware needs to be loaded in the modem CPU, however such firmware is already present on the storage of the phone. After the firmware is loaded, the modem cannot access the main CPU filesystem if used with Replicant.

Replicant with the HTC Dream or the Nexus One

If you have a Qualcomm device you should consider buying a Nexus S, but if you can't you should install Replicant on it. The non-free libraries present on these phones may perform a form of surveillance or spying. Installing Replicant which replaces or removes these libraries ensures that the undesirable activities of such libraries is no longer a threat. However, the modem runs non-free software and controls your "sound card" (think about the implications of non-free software controlling your microphone), your GPS, and can read/write from/to the main CPU memory. That's why it's a second-choice solution.

Note that the Nexus One requires firmwares for making phone calls while the HTC Dream doesn't.

The Nexus One is compatible with Replicant 2.2 and 2.3 while the HTC Dream is compatible only with Replicant 2.2 and below.

CyanogenMod

If you cannot buy a Nexus S and your phone is not supported by Replicant but is supported by CyanogenMod you should consider installing CyanogenMod, but without installing the Google applications, installing FDroid instead. This will ensure that only Free Software applications will run on top of CyanogenMod which is partially free (it ships non-free libraries).

Note that here is a DRM provider app that you can remove.

Non-Free Parts

CyanogenMod includes non-free firmware which is required for most of the hardware to work. For each device these non-free files are known. We need to help CyanogenMod so they don't need relying to rely on non-free drivers. In the meantime, we need to ensure that at least the rest of CyanogenMod stays free. So if you know about non-free software (except drivers and firmware) added to CyanogenMod, please let us know about it!

CyanogenMod 7 and 9 ship the ClockworkMod App that is not free. Also there seems to be a non-free flash-plugin shipped with the default browser. Since CyanogenMod 10 they use Google Analytics for statistics and ship Google's non-free client library. CMAccount, which was added to CyanogenMod 10.1, uses Google Cloud Messaging for server/client-communication and includes the Google Play Services client library that is proprietary.

Ideally, we get CyanogenMod to remove those non-free parts. If we don't manage, we should write some script or app that removes all those parts easily for the user.

The Apps

FDroid

FDroid is easy to install and provides free applications. Note that it doesn't require root permissions and is very easy to install, even without the command line.

Apps That Still Need To Be Liberated

Please add apps here that have no free counterpart, but are important to have on a free system. People can contact the authors of those apps and ask them why they are not Free Software.

  • Public Transport App

    • Öffi is a very popular app which builds upon a Free Software library by the same author.

    • There is now a Free Software alternative called Transportr that is still looking for contributors.

  • Menstruation Calendar and Calculator

  • All-round-Backup (You can only backup your entire flash with CyanogenMod's bootloader or use apps that backup only some data)

    • There is now also oandbackup that can backup your apps.

  • GSM-Hacking

    • something like HushSMS which is non-free.

  • Special Keyboard

    • missing a Keyboard with lager keys like MessagEase

  • slow Network Browser

  • Car Sharing Map

  • App for dict.cc

  • Missing an download manager/accelerator for Android

  • Unified Network Location Provider

  • [please add your candidates here]

Responses to Objections We've Heard from App Developers

We already collected objections and responses on FSFE's Free Your Android Campaign. If you know more, please add them here.

  • [please add here]

Development

Here, we collect free alternatives to resources that can be important for Android development such as free replacements for important proprietary libraries.

Google Play Services

Location APIs

Maps

Service Core (GmsCore)

Services Framework Proxy (GsfProxy)


Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android is a trademark of Google Inc.


Category/Activities

Activities/Android (last edited 2021-11-23 17:50:55 by eal)