taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

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 &ldquo;open
     26 source&rdquo; 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 &ldquo;<a href="/philosophy/free-open-overlap.html">open</a>,&rdquo;
     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 &ldquo;binary blobs&rdquo; (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&mdash;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 &ldquo;Linux&rdquo; refers to the
     62 entire GNU/Linux combination get tied in knots by these facts, and make
     63 paradoxical statements such as &ldquo;Android contains Linux, but it
     64 isn't Linux.&rdquo;(<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 &ldquo;Android Market&rdquo;).  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 &ldquo;tyrants&rdquo;: 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 &ldquo;rooted&rdquo; 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&mdash;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&mdash;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 &ldquo;software development kit&rdquo; (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 &ldquo;install Linux
    260 [sic] on your Android devices.&rdquo; 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 &amp; GNU inquiries to <a
    282 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</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">&lt;webmasters@gnu.org&gt;</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         &lt;web-translators@gnu.org&gt;</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 &copy; 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>