android-and-users-freedom.html (16887B)
1 <!--#include virtual="/server/header.html" --> 2 <!-- Parent-Version: 1.96 --> 3 <!-- This page is derived from /server/standards/boilerplate.html --> 4 <!--#set var="TAGS" value="essays aboutfs practice" --> 5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> 6 <title>Android and Users' Freedom 7 - GNU Project - Free Software Foundation</title> 8 <!--#include virtual="/philosophy/po/android-and-users-freedom.translist" --> 9 <!--#include virtual="/server/banner.html" --> 10 <!--#include virtual="/philosophy/ph-breadcrumb.html" --> 11 <!--GNUN: OUT-OF-DATE NOTICE--> 12 <!--#include virtual="/server/top-addendum.html" --> 13 <div class="article reduced-width"> 14 <h2>Android and Users' Freedom</h2> 15 16 <address class="byline">by Richard Stallman</address> 17 18 <p> 19 To what extent does Android respect the freedom of its users? For a 20 computer user that values freedom, that is the most important question 21 to ask about any software system.</p> 22 23 <p>In the <a href="https://fsf.org">free/libre software movement</a>, we 24 develop software that respects users' freedom, so we and you can escape 25 from software that doesn't. By contrast, the idea of “open 26 source” focuses on how to develop code; it is a different current 27 of thought whose principal value is <a 28 href="/philosophy/open-source-misses-the-point.html">code 29 quality rather than freedom</a>. Thus, the concern here is not whether 30 Android is “<a href="/philosophy/free-open-overlap.html">open</a>,” 31 but whether it allows users to be free.</p> 32 33 <p>Android is an operating system primarily for mobile phones and 34 other devices, which 35 consists of Linux (Torvalds' kernel), some libraries, a Java platform 36 and some applications. Linux aside, the software of Android versions 37 1 and 2 was mostly developed by Google; Google released it under the 38 Apache 2.0 license, which is a lax free software license without 39 <a href="/licenses/copyleft.html">copyleft</a>.</p> 40 41 <p>The version of Linux included in Android is not entirely free 42 software, since it contains nonfree “binary blobs” (just 43 like Torvalds' version of Linux), some of which are really used in some 44 Android devices. Android platforms use other nonfree firmware, too, 45 and nonfree libraries. Aside from those, the source code of Android 46 versions 1 and 2, as released by Google, is free software—but this 47 code is insufficient to run the device. Some of the applications that 48 generally come with Android are nonfree, too.</p> 49 50 <div class="announcement comment" role="complementary"> 51 <hr class="no-display" /> 52 <p>Support the <a href="https://fsfe.org/activities/android/">Free Your 53 Android</a> campaign.</p> 54 <hr class="no-display" /> 55 </div> 56 57 <p>Android is very different from the <a 58 href="/gnu/thegnuproject.html">GNU/Linux operating 59 system</a> because it contains very little of GNU. Indeed, just about 60 the only component in common between Android and GNU/Linux is Linux, the 61 kernel. People who erroneously think “Linux” refers to the 62 entire GNU/Linux combination get tied in knots by these facts, and make 63 paradoxical statements such as “Android contains Linux, but it 64 isn't Linux.”(<a href="#linuxnote">1</a>) Absent this confusion, 65 the situation is simple: Android contains Linux, but not GNU; thus, 66 Android and GNU/Linux are mostly different, because all they have in 67 common is Linux.</p> 68 69 <p>Within Android, Linux the kernel remains a separate program, with its 70 source code under <a href="/licenses/gpl-2.0.html">GNU GPL 71 version 2</a>. To combine Linux with code under the Apache 2.0 license 72 would be copyright infringement, since GPL version 2 and Apache 2.0 are 73 <a href="/licenses/license-list.html#apache2">incompatible</a>. 74 Rumors that Google has somehow converted Linux to the Apache license are 75 erroneous; Google has no power to change the license on the code of 76 Linux, and did not try. If the authors of Linux allowed its use under <a 77 href="/licenses/gpl.html">GPL version 3</a>, 78 then that code could be combined with Apache-licensed code, and the 79 combination could be released under GPL version 3. But Linux has not 80 been released that way.</p> 81 82 <p>Google has complied with the requirements of the GNU General Public 83 License for Linux, but the Apache license on the rest of Android does 84 not require source release. Google said it would never publish the 85 source code of Android 3.0 (aside from Linux). Android 3.1 source code 86 was also withheld, making Android 3, apart from Linux, nonfree 87 software pure and simple.</p> 88 89 <p>Google said it withheld the 3.0 source code because it was buggy, and 90 that people should wait for the next release. That may be good advice 91 for people who simply want to run the Android system, but the users 92 should be the ones to decide this. Anyway, developers and tinkerers 93 who want to include some of the changes in their own versions could 94 use that code just fine.</p> 95 96 <p>Fortunately, Google later released the source code for Android 3.* 97 when it released version 4 (also with source code). The problem above 98 turned out to be a temporary aberration rather than a policy shift. 99 However, what happens once may happen again.</p> 100 101 <p>In any case, most of the source code of various versions of Android 102 has been released as free software. Does that mean that products using 103 those Android versions respect users' freedom? No, for several 104 reasons.</p> 105 106 <p>First of all, most of them contain nonfree Google applications for 107 talking to services such as YouTube and Google Maps. These are 108 officially not part of Android, but that doesn't make the product ok. 109 Many of the free applications available for earlier versions of 110 Android have 111 been <a href="https://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/"> 112 replaced by nonfree applications</a>; in 2013 Android devices appeared 113 which <a href="https://www.androidbeat.com/2013/12/new-google-play-edition-devices-lack-photo-gallery-app-use-google/"> 114 provided no way to view photos except through a nonfree Google+ 115 app</a>. In 2014 Google announced 116 that <a href="https://arstechnica.com/gadgets/2014/06/android-wear-auto-and-tv-save-you-from-skins-and-oems-from-themselves/">Android 117 versions for TVs, watches and cars would be largely nonfree.</a> 118 </p> 119 120 <p>Most Android devices come with the nonfree Google Play software 121 (formerly “Android Market”). This software invites users 122 with a Google account to install nonfree apps. It also has a back 123 door with which Google can forcibly install or deinstall apps. (This 124 probably makes it a universal back door, though that is not proved.) 125 Google Play is officially not part of Android, but that doesn't make 126 it any less bad. 127 </p> 128 129 <p>Google has moved many basic general facilities into the 130 nonfree <a href="https://blog.grobox.de/2016/the-proprietarization-of-android-google-play-services-and-apps/">Google 131 Play Services library</a>. If an app's own code is free software but 132 it depends on Google Play Services, that app as a whole is effectively 133 nonfree; it can't run on a free version of Android, such as Replicant. 134 </p> 135 136 <p>If you value freedom, you don't want the nonfree apps that Google 137 Play offers. To install free Android apps, you don't need Google 138 Play, because you can get them 139 from <a href="https://f-droid.org/">f-droid.org</a>. 140 </p> 141 142 <p>Android products also come with nonfree libraries. These are 143 officially not part of Android, but since various Android 144 functionalities depend on them, they are part of any real Android 145 installation.</p> 146 147 <p>Even the programs that are officially part of Android may not 148 correspond to the source code Google releases. Manufacturers may 149 change this code, and often they don't release the source code for 150 their versions. The GNU GPL requires them to distribute the code for 151 their versions of Linux, assuming they comply. The rest of the code, 152 under the lax Apache license, does not require them to release the 153 source version that they really use.</p> 154 155 <p>One user discovered that many of the programs in the Android system 156 that came with his phone 157 were <a href="https://www.beneaththewaves.net/Projects/Motorola_Is_Listening.html">modified 158 to send personal data to Motorola.</a> Some manufacturers add 159 a <a href="https://androidsecuritytest.com/features/logs-and-services/loggers/carrieriq/"> 160 hidden general surveillance package such as Carrier IQ.</a></p> 161 162 <p><a href="https://replicant.us/">Replicant</a> is the free version of 163 Android. The Replicant developers have replaced many nonfree 164 libraries, for certain device models. The nonfree apps are excluded, 165 but you certainly don't want to use those. By contrast, CyanogenMod 166 (another modified version of Android) is nonfree, as it contains some 167 nonfree programs.</p> 168 169 <p>Many Android devices are “tyrants”: they are designed so users 170 cannot install and run their own modified software, only the versions 171 approved by some company. In that situation, the executables are not 172 free even if they were made from sources that are free and available 173 to you. However, some Android devices can be “rooted” so 174 users can install different software.</p> 175 176 <p>Important firmware or drivers are generally proprietary also. These 177 handle the phone network radio, WiFi, bluetooth, GPS, 3D graphics, the 178 camera, the speaker, and in some cases the microphone too. On some 179 models, a few of these drivers are free, and there are some that you 180 can do without—but you can't do without the microphone or the 181 phone network radio.</p> 182 183 <p>The phone network firmware comes preinstalled. If all it did was 184 sit there and talk to the phone network when you wish, we could regard 185 it as equivalent to a circuit. When we insist that the software in a 186 computing device must be free, we can overlook preinstalled firmware 187 that will never be upgraded, because it makes no difference to the 188 user that it's a program rather than a circuit.</p> 189 190 <p>Unfortunately, in this case it would be a malicious circuit. 191 Malicious features are unacceptable no matter how they are 192 implemented.</p> 193 194 <p>On most Android devices, this firmware has so much control that it 195 could turn the product into a listening device. On some, it controls 196 the microphone. On some, it can take full control of the main 197 computer, through shared memory, and can thus override or replace 198 whatever free software you have installed. With some, perhaps all, 199 models it is possible to exercise remote control of this firmware to 200 overwrite the rest of the software in the device. The point of free 201 software is that we have control of our software and our computing; 202 a system with a back door doesn't qualify. While any computing system 203 might <em>have</em> bugs, these devices can <em>be</em> bugs. (Craig 204 Murray, 205 in <a href="https://www.theguardian.com/books/2006/aug/12/politics">Murder 206 in Samarkand</a>, relates his involvement in an intelligence operation 207 that remotely converted an unsuspecting target's non-Android portable 208 phone into a listening device.)</p> 209 210 <p>In any case, the phone network firmware in an Android phone is not 211 equivalent to a circuit, because the hardware allows installation of 212 new versions and this is actually done. Since it is proprietary 213 firmware, in practice only the manufacturer can make new 214 versions—users can't.</p> 215 216 <p>Putting these points together, we can tolerate nonfree phone 217 network firmware provided new versions of it won't be loaded, it can't 218 take control of the main computer, and it can only communicate when 219 and as the free operating system chooses to let it communicate. In 220 other words, it has to be equivalent to circuitry, and that circuitry 221 must not be malicious. There is no technical obstacle to building an 222 Android phone which has these characteristics, but we don't know of 223 any.</p> 224 225 <p>Android is not a self-hosting system; development for Android needs 226 to be done on some other system. The tools in Google's 227 “software development kit” (SDK) appear to be free, 228 but it is hard work to check this. The definition files for certain 229 Google APIs are nonfree. Installing the SDK requires signing a 230 proprietary software license, which you should refuse to sign. 231 <a href="https://redmine.replicant.us/projects/replicant/wiki/ReplicantSDK"> 232 Replicant's SDK</a> is a free replacement.</p> 233 234 <p>Recent press coverage of Android focuses on the patent wars. During 235 20 years of campaigning for the abolition of software patents, we have 236 warned such wars could happen. Software patents could force 237 elimination of features from Android, or even make it unavailable. 238 See <a href="https://endsoftpatents.org/">endsoftpatents.org</a> for more 239 information about why software patents must be abolished.</p> 240 241 <p>However, the patent attacks and Google's responses are not directly 242 relevant to the topic of this article: how Android products partly 243 approach an ethically system of distribution, and how they fall 244 short. This issue merits the attention of the press too.</p> 245 246 <p>Android is a major step towards an ethical, user-controlled, free 247 software portable phone, but there is a long way to go, and Google is 248 taking it in the wrong direction. Hackers are working 249 on <a href="https://replicant.us/">Replicant</a>, but it's a big job to 250 support a new device model, and there remains the problem of the 251 firmware. Even though the Android phones of today are considerably 252 less bad than Apple or Windows phones, they cannot be said to 253 respect your freedom.</p> 254 <div class="column-limit"></div> 255 256 <h3 class="footnote">Footnote</h3> 257 <ol> 258 <li id="linuxnote">The extreme example of this confusion appears in 259 the site linuxonandroid.com, which offers help to “install Linux 260 [sic] on your Android devices.” This is entirely false: what 261 they are installing is a version of the GNU system, <em>excluding</em> 262 Linux, which is already present as part of Android. Since that site 263 supports only <a href="/distros/distros.html">nonfree GNU/Linux 264 distros</a>, we do not recommend it. 265 </li> 266 </ol> 267 268 <div class="infobox extra" role="complementary"> 269 <hr /> 270 First published in <cite><a 271 href="https://www.guardian.co.uk/technology/2011/sep/19/android-free-software-stallman"> 272 The Guardian</a></cite>. 273 </div> 274 </div> 275 276 </div><!-- for id="content", starts in the include above --> 277 <!--#include virtual="/server/footer.html" --> 278 <div id="footer" role="contentinfo"> 279 <div class="unprintable"> 280 281 <p>Please send general FSF & GNU inquiries to <a 282 href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. There are also <a 283 href="/contact/">other ways to contact</a> the FSF. Broken links and other 284 corrections or suggestions can be sent to <a 285 href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 286 287 <p><!-- TRANSLATORS: Ignore the original text in this paragraph, 288 replace it with the translation of these two: 289 290 We work hard and do our best to provide accurate, good quality 291 translations. However, we are not exempt from imperfection. 292 Please send your comments and general suggestions in this regard 293 to <a href="mailto:web-translators@gnu.org"> 294 <web-translators@gnu.org></a>.</p> 295 296 <p>For information on coordinating and contributing translations of 297 our web pages, see <a 298 href="/server/standards/README.translations.html">Translations 299 README</a>. --> 300 Please see the <a 301 href="/server/standards/README.translations.html">Translations README</a> for 302 information on coordinating and contributing translations of this article.</p> 303 </div> 304 305 <!-- Regarding copyright, in general, standalone pages (as opposed to 306 files generated as part of manuals) on the GNU web server should 307 be under CC BY-ND 4.0. Please do NOT change or remove this 308 without talking with the webmasters or licensing team first. 309 Please make sure the copyright date is consistent with the 310 document. For web pages, it is ok to list just the latest year the 311 document was modified, or published. 312 313 If you wish to list earlier years, that is ok too. 314 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 315 years, as long as each year in the range is in fact a copyrightable 316 year, i.e., a year in which the document was published (including 317 being publicly visible on the web or in a revision control system). 318 319 There is more detail about copyright years in the GNU Maintainers 320 Information document, www.gnu.org/prep/maintain. --> 321 322 <p>Copyright © 2011-2016, 2021 Richard Stallman</p> 323 324 <p>This page is licensed under a <a rel="license" 325 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative 326 Commons Attribution-NoDerivatives 4.0 International License</a>.</p> 327 328 <!--#include virtual="/server/bottom-notes.html" --> 329 330 <p class="unprintable">Updated: 331 <!-- timestamp start --> 332 $Date: 2021/10/01 17:02:52 $ 333 <!-- timestamp end --> 334 </p> 335 </div> 336 </div><!-- for class="inner", starts in the banner include --> 337 </body> 338 </html>