taler-merchant-demos

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

loyal-computers.html (9620B)


      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 extension" -->
      5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
      6 <title>What Does It Mean for Your Computer to Be Loyal?
      7 - GNU Project - Free Software Foundation</title>
      8 <style type="text/css" media="print,screen"><!--
      9 #History ~ p, #History ~ ul { font-size: 1rem; }
     10 --></style>
     11  <!--#include virtual="/philosophy/po/loyal-computers.translist" -->
     12 <!--#include virtual="/server/banner.html" -->
     13 <!--#include virtual="/philosophy/ph-breadcrumb.html" -->
     14 <!--GNUN: OUT-OF-DATE NOTICE-->
     15 <!--#include virtual="/server/top-addendum.html" -->
     16 <div class="article reduced-width">
     17 <h2>What Does It Mean for Your Computer to Be Loyal?</h2>
     18 
     19 <address class="byline">by <a href="https://www.stallman.org/">Richard
     20 Stallman</a></address>
     21 
     22 <p>We say that running <a href="/philosophy/free-sw.html">free
     23 software</a> on your computer means that its operation is <a
     24 href="/philosophy/free-software-even-more-important.html">under your
     25 control</a>.  Implicitly this presupposes that your computer will do
     26 what your programs tell it to do, and no more.  In other words, that
     27 your computer will be loyal to you.</p>
     28 
     29 <p>In 1990 we took that for granted; nowadays, many computers are
     30 designed to be disloyal to their users.  It has become necessary to
     31 spell out what it means for your computer to be a loyal platform that
     32 obeys your decisions, which you express by telling it to run certain
     33 programs.</p>
     34 
     35 <p>Our tentative definition consists of these principles.</p>
     36 
     37 <dl>
     38 <dt>Installability</dt>
     39 
     40 <dd>
     41 <p>Any software that can be replaced by someone else,
     42 the user must be empowered to replace.</p>
     43 
     44 <p>Thus, if the computer requires a password or some other secret in
     45 order to replace some of the software in it, whoever sells you the
     46 computer must tell you that secret as well.</p>
     47 </dd>
     48 
     49 <dt>Neutrality towards software</dt>
     50 
     51 <dd>
     52 <p>The computer will run, without prejudice, whatever software you
     53 install in it, and let that software do whatever its code says to
     54 do.</p>
     55 
     56 <p>A feature to check for signatures on the programs that run is
     57 compatible with this principle provided the signature checking is
     58 fully under the user's control.  When that is so, the feature helps
     59 implement the user's decisions about which programs to run, rather than
     60 thwarting the user's decisions.  By contrast, signature checking that
     61 is not fully under the user's control violates this principle.</p>
     62 </dd>
     63 
     64 <dt>Neutrality towards protocols</dt>
     65 
     66 <dd>
     67 <p>The computer will communicate, without prejudice, through whatever
     68 protocol your installed software implements, with whatever users and
     69 whatever other networked computers you direct it to communicate
     70 with.</p>
     71 
     72 <p>This means that computer does not impose one particular service rather
     73 than another, or one protocol rather than another. It does not
     74 require the user to get anyone else's permission to communicate via a
     75 certain protocol.</p>
     76 </dd>
     77 
     78 <dt>Neutrality towards implementations</dt>
     79 
     80 <dd>
     81 <p>When the computer communicates using any given protocol, it will
     82 support doing so, without prejudice, via whatever code you choose
     83 (assuming the code implements the intended protocol), and it will do
     84 nothing to help any other part of the Internet to distinguish which
     85 code you are using or what changes you may have made in it, or to
     86 discriminate based on your choice.</p>
     87 
     88 <p>This entails that the computer rejects remote attestation, that is,
     89 that it does not permit other computers to determine over the network
     90 whether your computer is running one particular software load. Remote
     91 attestation gives web sites the power to compel you to connect to them
     92 only through an application with DRM that you can't break, denying you
     93 effective control over the software you use to communicate with them.</p>
     94 
     95 <p>We can comprehend remote attestation as a general scheme to allow
     96 any web site to impose tivoization or &ldquo;lockdown&rdquo; on the
     97 local software you connect to it with.  Simple tivoization of a
     98 program bars modified versions from functioning properly; that makes
     99 the program nonfree.  Remote attestation by web sites bars modified
    100 versions from working with those sites that use it, which makes the
    101 program effectively nonfree when using those sites.  If a computer
    102 allows web sites to bar you from using a modified program with them,
    103 it is loyal to them, not to you.</p>
    104 </dd>
    105 
    106 <dt>Neutrality towards data communicated</dt>
    107 
    108 <dd>
    109 <p>When the computer receives data using whatever protocol, it will
    110 not limit what the program can do with the data received through that
    111 communication.</p>
    112 
    113 <p>Any hardware-level DRM violates this principle.  For instance, the
    114 hardware must not deliver video streams encrypted such that only the
    115 monitor can decrypt them.</p>
    116 </dd>
    117 
    118 <dt>Debugability</dt>
    119 
    120 <dd>
    121 <p>The computer always permits you to analyze the operation of a
    122 program that is running.</p>
    123 </dd>
    124 
    125 <dt>Completeness</dt>
    126 
    127 <dd>
    128 <p>The principles above apply to all the computer's software
    129 interfaces and all communication the computer does.  The computer must
    130 not have any disloyal programmable facility or do any disloyal
    131 communication.</p>
    132 
    133 <p>For instance, the AMT functionality in recent Intel processors runs
    134 nonfree software that can talk to Intel remotely.  Unless disabled,
    135 this makes the system disloyal.</p>
    136 </dd>
    137 </dl>
    138 
    139 <p>For a computer to be fully at your service, it should come with
    140 documentation of all the interfaces intended for software running in
    141 the computer to use to control the computer.  A documentation gap as
    142 such doesn't mean the computer is actively disloyal, but does mean
    143 there are some aspect of it that are not at your service.  Depending
    144 on what that aspect does, this might or might not be a real problem.</p>
    145 
    146 <p>We ask readers to send criticisms and suggestions about this
    147 definition to <a href="mailto:computer-principles@gnu.org">
    148 &lt;computer-principles@gnu.org&gt;</a>.</p>
    149 
    150 <p>Loyalty as defined here is the most basic criterion we could think
    151 of that is meaningful.  It does not require that all the software in
    152 the computer be free.  However, the presence
    153 of <a href="/philosophy/free-software-even-more-important.html">nonfree
    154 software in the computer</a> is an obstacle to verifying that the
    155 computer is loyal, or making sure it remains so.</p>
    156 
    157 <h3 id="History">History</h3>
    158 
    159 <p>Here is the list of substantive changes in this page.</p>
    160 
    161 <ul>
    162 
    163 <li><a href="//web.cvs.savannah.gnu.org/viewvc/www/www/philosophy/loyal-computers.html?r1=1.5&amp;r2=1.6">Version 1.6</a>:
    164 Add installability requirement.
    165 </li>
    166 
    167 <li><a href="//web.cvs.savannah.gnu.org/viewvc/www/www/philosophy/loyal-computers.html?r1=1.4&amp;r2=1.5">Version
    168 1.5</a>: Full documentation is not a requirement for loyalty.
    169 </li>
    170 </ul>
    171 </div>
    172 
    173 </div><!-- for id="content", starts in the include above -->
    174 <!--#include virtual="/server/footer.html" -->
    175 <div id="footer" role="contentinfo">
    176 <div class="unprintable">
    177 
    178 <p>Please send general FSF &amp; GNU inquiries to
    179 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
    180 There are also <a href="/contact/">other ways to contact</a>
    181 the FSF.  Broken links and other corrections or suggestions can be sent
    182 to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
    183 
    184 <p><!-- TRANSLATORS: Ignore the original text in this paragraph,
    185         replace it with the translation of these two:
    186 
    187         We work hard and do our best to provide accurate, good quality
    188         translations.  However, we are not exempt from imperfection.
    189         Please send your comments and general suggestions in this regard
    190         to <a href="mailto:web-translators@gnu.org">
    191         &lt;web-translators@gnu.org&gt;</a>.</p>
    192 
    193         <p>For information on coordinating and contributing translations of
    194         our web pages, see <a
    195         href="/server/standards/README.translations.html">Translations
    196         README</a>. -->
    197 Please see the <a
    198 href="/server/standards/README.translations.html">Translations
    199 README</a> for information on coordinating and contributing translations
    200 of this article.</p>
    201 </div>
    202 
    203 <!-- Regarding copyright, in general, standalone pages (as opposed to
    204      files generated as part of manuals) on the GNU web server should
    205      be under CC BY-ND 4.0.  Please do NOT change or remove this
    206      without talking with the webmasters or licensing team first.
    207      Please make sure the copyright date is consistent with the
    208      document.  For web pages, it is ok to list just the latest year the
    209      document was modified, or published.
    210      
    211      If you wish to list earlier years, that is ok too.
    212      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    213      years, as long as each year in the range is in fact a copyrightable
    214      year, i.e., a year in which the document was published (including
    215      being publicly visible on the web or in a revision control system).
    216      
    217      There is more detail about copyright years in the GNU Maintainers
    218      Information document, www.gnu.org/prep/maintain. -->
    219 
    220 <p>Copyright &copy; 2014, 2015, 2019, 2021 Free Software Foundation, Inc.</p>
    221 
    222 <p>This page is licensed under a <a rel="license"
    223 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
    224 Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
    225 
    226 <!--#include virtual="/server/bottom-notes.html" -->
    227 
    228 <p class="unprintable">Updated:
    229 <!-- timestamp start -->
    230 $Date: 2021/09/05 09:34:34 $
    231 <!-- timestamp end -->
    232 </p>
    233 </div>
    234 </div><!-- for class="inner", starts in the banner include -->
    235 </body>
    236 </html>