network-services-arent-free-or-nonfree.html (11520B)
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 cultural ns" --> 5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> 6 <title>Network Services Aren't Free or Nonfree; They Raise Other Issues 7 - GNU Project - Free Software Foundation</title> 8 <!--#include virtual="/philosophy/po/network-services-arent-free-or-nonfree.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>Network Services Aren't Free or Nonfree; They Raise Other Issues</h2> 15 16 <address class="byline">by <a href="https://www.stallman.org/">Richard 17 Stallman</a></address> 18 19 <div class="introduction"> 20 <p><em>Programs and services are different kinds of entities. A 21 program is a work that you can execute; a service is an activity that 22 you might interact with.</em></p> 23 </div> 24 25 <p>For programs, we make a distinction between free and nonfree 26 (proprietary). More precisely, this distinction applies to a program 27 that you have a copy of: either 28 you <a href="/philosophy/free-sw.html"> have the four freedoms for 29 your copy</a> or you don't. If you don't, that program does a 30 specific kind of injustice to you, simply because it is nonfree.</p> 31 32 <p>The copyright holders of a nonfree program can cure that injustice 33 in a simple, clear way: release the same source code under a free 34 software license. Convincing them to <em>do</em> this 35 may be difficult, but the action itself is straightforward.</p> 36 37 <p>An activity (such as a service) doesn't exist in the form of 38 copies, so it's not possible for a user to have a copy of it, let 39 alone make more copies. Lacking a copy to modify, the user can't 40 modify it either. As a result, the four freedoms that define free 41 software don't make sense for services. It is meaningless to say that 42 the service is “nonfree,” or that it is 43 “free.” That distinction makes no sense, for services.</p> 44 45 <p>That does not mean that the service treats users justly. Quite the 46 contrary—many services do wrong to their users, in various 47 ways, and we call them “dis-services”—but there is no 48 simple universal fix for this, comparable to that for a nonfree 49 program (to release it as free software so users can run and control 50 their copies and their versions).</p> 51 52 <p>To use a culinary analogy, my way of cooking can't be a copy of 53 your way of cooking, not even if I learned to cook by watching you. I 54 might have and use a copy of the <em>recipe</em> you use to do your 55 cooking, because a recipe, like a program, is a work and exists in 56 copies, but your recipe is not the same as your way of cooking. (And 57 neither of those is the same as the food produced by your 58 cooking.)</p> 59 60 <p>With today's technology, services are often implemented by running 61 programs on computers, but that is not the only way to implement them. 62 (In fact, there are network services that are implemented by asking 63 human beings to enter responses to questions.) In any case, the 64 implementation is not visible to users of the service, so it has no 65 direct effect on them.</p> 66 67 <p>A network service can raise issues of free vs nonfree software for 68 its users through the client software needed to use it. If the service 69 requires using a nonfree client program, use of the service requires 70 ceding your freedom to that program. With many web services, the 71 nonfree software is <a href="/philosophy/javascript-trap.html"> 72 JavaScript code</a> silently installed in the user's 73 browser. The <a href="/software/librejs">GNU LibreJS</a> program makes 74 it easier to refuse to run this nonfree JavaScript code. But the issue 75 of the client software is logically separate from the service as 76 such.</p> 77 78 <p>There is one case where a service is directly comparable to a 79 program: when using the service is equivalent to having a copy of a 80 hypothetical program and running it yourself. In this case, we call it Service as 81 a Software Substitute, or <abbr title="Service as a Software 82 Substitute">SaaSS</abbr> (we coined that to be less vague and 83 general than “Software as a Service”), and such a service 84 is always a bad thing. The job it does is the users' own computing, 85 and the users ought to have full control over that. The way for users 86 to have control over their own computing is to do it by running their 87 own copies of a free program. Using someone else's server to do that 88 computing implies losing control of it.</p> 89 90 <p>SaaSS is equivalent to using a nonfree program with surveillance features 91 and a universal back door, so <a 92 href="/philosophy/who-does-that-server-really-serve.html">you should reject 93 it and replace it with a free program</a> that does the same job.</p> 94 95 <p>However, most services' principal functions are communicating or 96 publishing information; they are nothing like running any program 97 yourself, so they are not SaaSS. They could not be replaced by your copy of a 98 program, either; a program running in your own computers, used solely 99 by you and isolated from others, is not communicating with anyone else.</p> 100 101 <p>A non-SaaSS service can mistreat users by doing something 102 specific and unjust to the user. For instance, it could misuse the 103 data users send it, or collect too much data (surveillance). It could be 104 designed to mislead or cheat users (for instance, with “dark 105 patterns”). It could impose antisocial or unjust usage 106 conditions. 107 The <a href="https://web.archive.org/web/20090124084811/http://autonomo.us/2008/07/franklin-street-statement/">Franklin 108 Street Statement</a> made a stab at addressing these issues, but we 109 don't have full understanding of them as yet. What's clear is that the 110 issues about a service are <em>different</em> from the issues about a 111 program. Thus, for clarity's sake, it is better not to apply the terms 112 “free” and “nonfree” to a service.</p> 113 114 <p>Let's suppose a service is implemented using software: the server 115 operator has copies of many programs, and runs them to implement the 116 service. These copies may be free software or not. If the operator 117 developed them and uses them without distributing copies, they are 118 free in a trivial sense since every user (there's only one) has the 119 four freedoms.</p> 120 121 <p>If some of them are nonfree, that usually doesn't directly affect 122 users of the service. They are not running those programs; the service 123 operator is running them. In a special situation, these programs can 124 indirectly affect the users of the service: if the service holds 125 private information, users might be concerned that nonfree programs on 126 the server might have back doors allowing someone else to see their 127 data. In effect, nonfree programs on the server require users to trust 128 those programs' developers as well as the service operator. How 129 significant this is in practice depends on the details, including what 130 jobs the nonfree programs do.</p> 131 132 <p>However, the one party that is <em>certainly</em> mistreated by the 133 nonfree programs implementing the service is the server operator 134 herself. We don't condemn the server operator for being at the mercy 135 of nonfree software, and we certainly don't boycott her for this. 136 Rather, we are concerned for her freedom, as with any user of nonfree 137 software. Given an opportunity, we try to explain how it curtails her 138 freedom, hoping she will switch to free software.</p> 139 140 <p>Conversely, if the service operator runs GNU/Linux or other free 141 software, that's not a virtue that affects you, but rather a benefit 142 for her. We don't praise or thank her for this; rather we felicitate 143 her for making the wise choice.</p> 144 145 <p>If she has developed some software for the service, and released it 146 as free software, that's the point at which we have a reason to thank 147 her. We suggest releasing these programs under 148 the <a href="/licenses/license-recommendations.html">GNU Affero 149 GPL</a>, since evidently they are useful on servers.</p> 150 151 <p><a href="/licenses/why-affero-gpl.html">Why the Affero 152 GPL?</a></p> 153 154 <p>Thus, we don't have a rule that free systems shouldn't use (or 155 shouldn't depend on) services (or sites) implemented with nonfree 156 software. However, they should not depend on, suggest or encourage use 157 of services which are SaaSS; use of SaaSS needs to be replaced by use 158 of free software. All else being equal, it is good to favor those 159 service providers who contribute to the community by releasing useful 160 free software, and good to favor peer-to-peer communication over 161 server-based centralized communication, for activities that don't 162 inherently require a central hub.</p> 163 </div> 164 165 </div><!-- for id="content", starts in the include above --> 166 <!--#include virtual="/server/footer.html" --> 167 <div id="footer" role="contentinfo"> 168 <div class="unprintable"> 169 170 <p>Please send general FSF & GNU inquiries to 171 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. 172 There are also <a href="/contact/">other ways to contact</a> 173 the FSF. Broken links and other corrections or suggestions can be sent 174 to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 175 176 <p><!-- TRANSLATORS: Ignore the original text in this paragraph, 177 replace it with the translation of these two: 178 179 We work hard and do our best to provide accurate, good quality 180 translations. However, we are not exempt from imperfection. 181 Please send your comments and general suggestions in this regard 182 to <a href="mailto:web-translators@gnu.org"> 183 <web-translators@gnu.org></a>.</p> 184 185 <p>For information on coordinating and contributing translations of 186 our web pages, see <a 187 href="/server/standards/README.translations.html">Translations 188 README</a>. --> 189 Please see the <a 190 href="/server/standards/README.translations.html">Translations 191 README</a> for information on coordinating and contributing translations 192 of this article.</p> 193 </div> 194 195 <!-- Regarding copyright, in general, standalone pages (as opposed to 196 files generated as part of manuals) on the GNU web server should 197 be under CC BY-ND 4.0. Please do NOT change or remove this 198 without talking with the webmasters or licensing team first. 199 Please make sure the copyright date is consistent with the 200 document. For web pages, it is ok to list just the latest year the 201 document was modified, or published. 202 203 If you wish to list earlier years, that is ok too. 204 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 205 years, as long as each year in the range is in fact a copyrightable 206 year, i.e., a year in which the document was published (including 207 being publicly visible on the web or in a revision control system). 208 209 There is more detail about copyright years in the GNU Maintainers 210 Information document, www.gnu.org/prep/maintain. --> 211 212 <p>Copyright © 2012-2014, 2020, 2021 Free Software Foundation, Inc.</p> 213 214 <p>This page is licensed under a <a rel="license" 215 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative 216 Commons Attribution-NoDerivatives 4.0 International License</a>.</p> 217 218 <!--#include virtual="/server/bottom-notes.html" --> 219 220 <p class="unprintable">Updated: 221 <!-- timestamp start --> 222 $Date: 2021/09/19 16:26:24 $ 223 <!-- timestamp end --> 224 </p> 225 </div> 226 </div><!-- for class="inner", starts in the banner include --> 227 </body> 228 </html>