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 “lockdown” 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 <computer-principles@gnu.org></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&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&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 & GNU inquiries to 179 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></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"><webmasters@gnu.org></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 <web-translators@gnu.org></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 © 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>