who-does-that-server-really-serve.html (25630B)
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>Who Does That Server Really Serve? 7 - GNU Project - Free Software Foundation</title> 8 <!--#include virtual="/philosophy/po/who-does-that-server-really-serve.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>Who does that server really serve?</h2> 15 16 <address class="byline">by Richard Stallman</address> 17 18 <div class="introduction"> 19 <p><em>On the Internet, proprietary software isn't the only way to 20 lose your computing freedom. Service as a Software Substitute, or SaaSS, is 21 another way to give someone else power over your computing.</em></p> 22 </div> 23 24 <p>The basic point is, you can have control over a program someone 25 else wrote (if it's free), but you can never have control over a 26 service someone else runs, so never use a service where in principle 27 running a program would do.</p> 28 29 30 <p>SaaSS means using a service implemented by someone else as a 31 substitute for running your copy of a program. The term is ours; 32 articles and ads won't use it, and they won't tell you whether a 33 service is SaaSS. Instead they will probably use the vague and 34 distracting term “cloud,” which lumps SaaSS together with 35 various other practices, some abusive and some ok. With the 36 explanation and examples in this page, you can tell whether a service 37 is SaaSS.</p> 38 39 <h3>Background: How Proprietary Software Takes Away Your Freedom</h3> 40 41 <p>Digital technology can give you freedom; it can also take your 42 freedom away. The first threat to our control over our computing came 43 from <em>proprietary software</em>: software that the users cannot 44 control because the owner (a company such as Apple or Microsoft) 45 controls it. The owner often takes advantage of this unjust power by 46 inserting malicious features such as spyware, back doors, and <a 47 href="https://www.defectivebydesign.org">Digital Restrictions Management 48 (DRM)</a> (referred to as “Digital Rights Management” in 49 their propaganda).</p> 50 51 <p>Our solution to this problem is developing <em>free software</em> 52 and rejecting proprietary software. Free software means that you, as 53 a user, have four essential freedoms: (0) to run the program as 54 you wish, (1) to study and change the source code so it does what 55 you wish, (2) to redistribute exact copies, and (3) to 56 redistribute copies of your modified versions. (See 57 the <a href="/philosophy/free-sw.html">free software 58 definition</a>.)</p> 59 60 <p>With free software, we, the users, take back control of our 61 computing. Proprietary software still exists, but we can exclude it 62 from our lives and many of us have done so. However, we are now 63 offered another tempting way to cede control over our computing: 64 Service as a Software Substitute (SaaSS). For our freedom's sake, we 65 have to reject that too.</p> 66 67 <h3>How Service as a Software Substitute Takes Away Your Freedom</h3> 68 69 <p>Service as a Software Substitute (SaaSS) means using a service as a 70 substitute for running your copy of a program. Concretely, it means 71 that someone sets up a network server that does certain computing 72 activities—for instance, modifying a photo, translating text into 73 another language, etc.—then invites users to let that server do 74 <em>their own computing</em> for them. As a user of the server, you 75 would send your data to the server, which does that computing 76 activity on the data thus provided, then sends the results back 77 to you or else acts directly on your behalf.</p> 78 79 <p>What does it mean to say that a given computing activity 80 is <em>your own</em>? It means that no one else is inherently 81 involved in it. To clarify the meaning of “inherently 82 involved,” we present a thought experiment. Suppose that any 83 free software you might need for the job is available to you, and 84 whatever data you might need, as well as computers of whatever speed, 85 functionality and capacity might be required. Could you do this 86 particular computing activity entirely within those computers, not 87 communicating with anyone else's computers?</p> 88 89 <p>If you could, then the activity is <em>entirely your own</em>. For 90 your freedom's sake, you deserve to control it. If you do it by 91 running free software, you do control it. However, doing it via 92 someone else's service would give that someone else control over your 93 computing activity. We call that scenario SaaSS, and we say it is 94 unjust.</p> 95 96 <p>By contrast, if for fundamental reasons you couldn't possibly do 97 that activity in your own computers, then the activity isn't entirely 98 your own, so the issue of SaaSS is not applicable to that activity. 99 In general, these activities involve communication with others.</p> 100 101 <p>SaaSS servers wrest control from the users even more inexorably 102 than proprietary software. With proprietary software, users typically 103 get an executable file but not the source code. That makes it hard to 104 study the code that is running, so it's hard to determine what the 105 program really does, and hard to change it.</p> 106 107 <p>With SaaSS, the users do not have even the executable file that 108 does their computing: it is on someone else's server, where the users 109 can't see or touch it. Thus it is impossible for them to ascertain 110 what it really does, and impossible to change it.</p> 111 112 <p>Furthermore, SaaSS automatically leads to consequences equivalent 113 to the malicious features of certain proprietary software.</p> 114 115 <p> For instance, some proprietary programs are “spyware”: 116 the program <a href="/philosophy/proprietary-surveillance.html"> 117 sends out data about users' computing activities</a>. 118 Microsoft Windows sends information about users' activities to 119 Microsoft. Windows Media Player reports what each user watches or 120 listens to. The Amazon Kindle reports which pages of which books the 121 user looks at, and when. Angry Birds reports the user's geolocation 122 history.</p> 123 124 <p>Unlike proprietary software, SaaSS does not require covert code to 125 obtain the user's data. Instead, users must send their data to the 126 server in order to use it. This has the same effect as spyware: the 127 server operator gets the data—with no special effort, by the 128 nature of SaaSS. Amy Webb, who intended never to post any photos of 129 her daughter, made the mistake of using SaaSS (Instagram) to edit 130 photos of her. Eventually 131 <a href="https://slate.com/technology/2013/09/privacy-facebook-kids-dont-post-photos-of-your-kids-on-social-media.html"> 132 they leaked from there</a>.</p> 133 134 <p>Theoretically, homomorphic encryption might some day advance to the 135 point where future SaaSS services might be constructed to be unable to 136 understand some of the data that users send them. Such 137 services <em>could</em> be set up not to snoop on users; this does not 138 mean they <em>will</em> do no snooping. Also, snooping is only one 139 among the secondary injustices of SaaSS.</p> 140 141 <p>Some proprietary operating systems have a universal back door, 142 permitting someone to remotely install software changes. For 143 instance, Windows has a universal back door with which Microsoft can 144 forcibly change any software on the machine. Nearly all portable 145 phones have them, too. Some proprietary applications also have 146 universal back doors; for instance, the Steam client for GNU/Linux 147 allows the developer to remotely install modified versions.</p> 148 149 <p>With SaaSS, the server operator can change the software in use on 150 the server. He ought to be able to do this, since it's his computer; 151 but the result is the same as using a proprietary application program 152 with a universal back door: someone has the power to silently impose 153 changes in how the user's computing gets done.</p> 154 155 <p>Thus, SaaSS is equivalent to running proprietary software with 156 spyware and a universal back door. It gives the server operator 157 unjust power over the user, and that power is something we must 158 resist.</p> 159 160 <h3>SaaSS and SaaS</h3> 161 162 <p>Originally we referred to this problematical practice as 163 “SaaS,” which stands for “Software as a 164 Service.” It's a commonly used term for setting up software on a 165 server rather than offering copies of it to users, and we thought it 166 described precisely the cases where this problem occurs.</p> 167 168 <p>Subsequently we became aware that the term SaaS is sometimes used for 169 communication services—activities for which this issue is not 170 applicable. In addition, the term “Software as a Service” 171 doesn't explain <em>why</em> the practice is bad. So we coined the term 172 “Service as a Software Substitute,” which defines the bad 173 practice more clearly and says what is bad about it.</p> 174 175 <h3>Untangling the SaaSS Issue from the Proprietary Software Issue</h3> 176 177 <p>SaaSS and proprietary software lead to similar harmful results, but 178 the mechanisms are different. With proprietary software, the 179 mechanism is that you have and use a copy which is difficult and/or 180 illegal to change. With SaaSS, the mechanism is that you don't have 181 the copy that's doing your computing.</p> 182 183 <p>These two issues are often confused, and not only by accident. Web 184 developers use the vague term “web application” to lump 185 the server software together with programs run on your machine in your 186 browser. Some web pages install nontrivial, even large JavaScript 187 programs into your browser without informing 188 you. <a href="/philosophy/javascript-trap.html">When these JavaScript 189 programs are nonfree</a>, they cause the same sort of injustice as any 190 other nonfree software. Here, however, we are concerned with the 191 issue of using the service itself.</p> 192 193 <p>Many free software supporters assume that the problem of SaaSS will 194 be solved by developing free software for servers. For the server 195 operator's sake, the programs on the server had better be free; if 196 they are proprietary, their developers/owners have power over the 197 server. That's unfair to the server operator, and doesn't help the 198 server's users at all. But if the programs on the server are free, 199 that doesn't protect <em>the server's users</em> from the effects of 200 SaaSS. These programs liberate the server operator, but not the 201 server's users.</p> 202 203 <p>Releasing the server software source code does benefit the 204 community: it enables suitably skilled users to set up similar 205 servers, perhaps changing the 206 software. <a href="/licenses/license-recommendations.html"> We 207 recommend using the GNU Affero GPL</a> as the license for programs 208 often used on servers.</p> 209 210 <p>But none of these servers would give you control over computing you 211 do on it, unless it's <em>your</em> server (one whose software load 212 you control, regardless of whether the machine is your property). It 213 may be OK to trust your friend's server for some jobs, just as you 214 might let your friend maintain the software on your own computer. 215 Outside of that, all these servers would be SaaSS for you. SaaSS 216 always subjects you to the power of the server operator, and the only 217 remedy is, <em>Don't use SaaSS!</em> Don't use someone else's server 218 to do your own computing on data provided by you.</p> 219 220 <p>This issue demonstrates the depth of the difference between 221 “open” and “free.” Source code that is open 222 source <a href="/philosophy/free-open-overlap.html">is, nearly always, 223 free</a>. However, the idea of 224 an <a href="https://opendefinition.org/ossd/">“open 225 software” service</a>, meaning one whose server software is open 226 source and/or free, fails to address the issue of SaaSS.</p> 227 228 <p>Services are fundamentally different from programs, and the ethical 229 issues that services raise are fundamentally different from the issues 230 that programs raise. To avoid confusion, 231 we <a href="/philosophy/network-services-arent-free-or-nonfree.html"> 232 avoid describing a service as “free” or 233 “proprietary.”</a></p> 234 235 <h3>Distinguishing SaaSS from Other Network Services</h3> 236 237 <p>Which online services are SaaSS? The clearest example is a 238 translation service, which translates (say) English text into Spanish 239 text. Translating a text for you is computing that is purely yours. 240 You could do it by running a program on your own computer, if only you 241 had the right program. (To be ethical, that program should be free.) 242 The translation service substitutes for that program, so it is Service 243 as a Software Substitute, or SaaSS. Since it denies you control 244 over your computing, it does you wrong.</p> 245 246 <p>Another clear example is using a service such as Flickr or 247 Instagram to modify a photo. Modifying photos is an activity that 248 people have done in their own computers for decades; doing it in a 249 server you don't control, rather than your own computer, is SaaSS.</p> 250 251 <p>Rejecting SaaSS does not mean refusing to use any network servers 252 run by anyone other than you. Most servers are not SaaSS because the 253 jobs they do are some sort of communication, rather than the user's 254 own computing.</p> 255 256 <p>The original idea of web servers wasn't to do computing for you, it 257 was to publish information for you to access. Even today this is what 258 most web sites do, and it doesn't pose the SaaSS problem, because 259 accessing someone's published information isn't doing your own 260 computing. Neither is use of a blog site to publish your own works, 261 or using a microblogging service such as Twitter or StatusNet. (These 262 services may or may not have other problems, depending on details.) 263 The same goes for other communication not meant to be private, such as 264 chat groups.</p> 265 266 <p>In its essence, social networking is a form of communication and 267 publication, not SaaSS. However, a service whose main facility is 268 social networking can have features or extensions which are SaaSS.</p> 269 270 <p>If a service is not SaaSS, that does not mean it is OK. There are 271 other ethical issues about services. For instance, Facebook requires 272 running nonfree JavaScript code, and it gives users a misleading 273 impression of privacy while luring them into baring their lives to 274 Facebook. Those are important issues, different from the SaaSS issue. 275 </p> 276 277 <p>Services such as search engines collect data from around the web 278 and let you examine it. Looking through their collection of data 279 isn't your own computing in the usual sense—you didn't provide 280 that collection—so using such a service to search the web is not 281 SaaSS. However, using someone else's server to implement a search 282 facility for your own site <em>is</em> SaaSS.</p> 283 284 <p>Purchasing online is not SaaSS, because the computing 285 isn't <em>your own</em> activity; rather, it is done jointly by and 286 for you and the store. The real issue in online shopping is whether 287 you trust the other party with your money and other personal 288 information (starting with your name).</p> 289 290 <p>Repository sites such as Savannah and SourceForge are not 291 inherently SaaSS, because a repository's job is publication of data 292 supplied to it.</p> 293 294 <p>Using a joint project's servers isn't SaaSS because the computing 295 you do in this way isn't your own. For instance, if you edit pages on 296 Wikipedia, you are not doing your own computing; rather, you are 297 collaborating in Wikipedia's computing. Wikipedia controls its own 298 servers, but organizations as well as individuals encounter the 299 problem of SaaSS if they do their computing in someone else's 300 server.</p> 301 302 <p>Some sites offer multiple services, and if one is not SaaSS, 303 another may be SaaSS. For instance, the main service of Facebook is 304 social networking, and that is not SaaSS; however, it supports 305 third-party applications, some of which are SaaSS. Flickr's main 306 service is distributing photos, which is not SaaSS, but it also has 307 features for editing photos, which is SaaSS. Likewise, using 308 Instagram to post a photo is not SaaSS, but using it to transform the 309 photo is SaaSS.</p> 310 311 <p>Google Docs shows how complex the evaluation of a single service 312 can become. It invites people to edit a document by running a 313 large <a href="/philosophy/javascript-trap.html">nonfree JavaScript 314 program</a>, clearly wrong. However, it offers an API for uploading 315 and downloading documents in standard formats. A free software editor 316 can do so through this API. This usage scenario is not SaaSS, because 317 it uses Google Docs as a mere repository. Showing all your data to a 318 company is bad, but that is a matter of privacy, not SaaSS; depending 319 on a service for access to your data is bad, but that is a matter of 320 risk, not SaaSS. On the other hand, using the service for converting 321 document formats <em>is</em> SaaSS, because it's something you could 322 have done by running a suitable program (free, one hopes) in your own 323 computer.</p> 324 325 <p>Using Google Docs through a free editor is rare, of course. Most 326 often, people use it through the nonfree JavaScript program, which is 327 bad like any nonfree program. This scenario might involve SaaSS, too; 328 that depends on what part of the editing is done in the JavaScript 329 program and what part in the server. We don't know, but since SaaSS 330 and proprietary software do similar wrong to the user, it is not 331 crucial to know.</p> 332 333 <p>Publishing via someone else's repository does not raise privacy 334 issues, but publishing through Google Docs has a special problem: it 335 is impossible even to <em>view the text</em> of a Google Docs document 336 in a browser without running the nonfree JavaScript code. Thus, you 337 should not use Google Docs to publish anything—but the reason 338 is not a matter of SaaSS.</p> 339 340 <p>The IT industry discourages users from making these distinctions. 341 That's what the buzzword “cloud computing” is for. This 342 term is so nebulous that it could refer to almost any use of the 343 Internet. It includes SaaSS as well as many other network usage 344 practices. In any given context, an author who writes 345 “cloud” (if a technical person) probably has a specific 346 meaning in mind, but usually does not explain that in other articles 347 the term has other specific meanings. The term leads people to 348 generalize about practices they ought to consider individually.</p> 349 350 <p>If “cloud computing” has a meaning, it is not a way of 351 doing computing, but rather a way of thinking about computing: a 352 devil-may-care approach which says, “Don't ask questions. Don't 353 worry about who controls your computing or who holds your data. Don't 354 check for a hook hidden inside our service before you swallow it. 355 Trust companies without hesitation.” In other words, “Be a 356 sucker.” A cloud in the mind is an obstacle to clear thinking. 357 For the sake of clear thinking about computing, let's avoid the term 358 “cloud.”</p> 359 360 <h3 id="renting">Renting a Server Distinguished from SaaSS</h3> 361 362 <p>If you rent a server (real or virtual), whose software load you 363 have control over, that's not SaaSS. In SaaSS, someone else decides 364 what software runs on the server and therefore controls the computing 365 it does for you. In the case where you install the software on the 366 server, you control what computing it does for you. Thus, the rented 367 server is virtually your computer. For this issue, it counts as 368 yours.</p> 369 370 <p>The <em>data</em> on the rented remote server is less secure than 371 if you had the server at home, but that is a separate issue from 372 SaaSS.</p> 373 374 <p>This kind of server rental is sometimes called “IaaS,” 375 but that term fits into a conceptual structure that downplays the issues 376 that we consider important.</p> 377 378 <h3>Dealing with the SaaSS Problem</h3> 379 380 <p>Only a small fraction of all web sites do SaaSS; most don't raise 381 the issue. But what should we do about the ones that raise it?</p> 382 383 <p>For the simple case, where you are doing your own computing on data 384 in your own hands, the solution is simple: use your own copy of a free 385 software application. Do your text editing with your copy of a free 386 text editor such as GNU Emacs or a free word processor. Do your photo 387 editing with your copy of free software such as GIMP. What if there 388 is no free program available? A proprietary program or SaaSS would 389 take away your freedom, so you shouldn't use those. You can contribute 390 your time or your money to development of a free replacement.</p> 391 392 <p>What about collaborating with other individuals as a group? It may 393 be hard to do this at present without using a server, and your group 394 may not know how to run its own server. If you use someone else's 395 server, at least don't trust a server run by a company. A mere 396 contract as a customer is no protection unless you could detect a 397 breach and could really sue, and the company probably writes its 398 contracts to permit a broad range of abuses. The state can subpoena 399 your data from the company along with everyone else's, as Obama has 400 done to phone companies, supposing the company doesn't volunteer them 401 like the US phone companies that illegally wiretapped their customers 402 for Bush. If you must use a server, use a server whose operators give 403 you a basis for trust beyond a mere commercial relationship.</p> 404 405 <p>However, on a longer time scale, we can create alternatives to 406 using servers. For instance, we can create a peer-to-peer program 407 through which collaborators can share data encrypted. The free 408 software community should develop distributed peer-to-peer 409 replacements for important “web applications.” It may be 410 wise to release them under 411 the <a href="/licenses/why-affero-gpl.html"> GNU Affero GPL</a>, since 412 they are likely candidates for being converted into server-based 413 programs by someone else. The <a href="/">GNU project</a> is looking 414 for volunteers to work on such replacements. We also invite other 415 free software projects to consider this issue in their design.</p> 416 417 <p>In the meantime, if a company invites you to use its server to do 418 your own computing tasks, don't yield; don't use SaaSS. Don't buy or 419 install “thin clients,” which are simply computers so weak 420 they make you do the real work on a server, unless you're going to use 421 them with <em>your</em> server. Use a real computer and keep your 422 data there. Do your own computing with your own copy of a free 423 program, for your freedom's sake.</p> 424 425 <div class="announcement comment" role="complementary"> 426 <p>See also: 427 <a href="/philosophy/bug-nobody-allowed-to-understand.html">The 428 Bug Nobody is Allowed to Understand</a>.</p> 429 </div> 430 431 <div class="infobox extra" role="complementary"> 432 <hr /> 433 <p>The first version of this article was published 434 in the <cite><a 435 href="https://bostonreview.net/articles/richard-stallman-free-software-drm/"> 436 Boston Review</a></cite>.</p> 437 </div> 438 </div> 439 440 </div><!-- for id="content", starts in the include above --> 441 <!--#include virtual="/server/footer.html" --> 442 <div id="footer" role="contentinfo"> 443 <div class="unprintable"> 444 445 <p>Please send general FSF & GNU inquiries to 446 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. 447 There are also <a href="/contact/">other ways to contact</a> 448 the FSF. Broken links and other corrections or suggestions can be sent 449 to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 450 451 <p><!-- TRANSLATORS: Ignore the original text in this paragraph, 452 replace it with the translation of these two: 453 454 We work hard and do our best to provide accurate, good quality 455 translations. However, we are not exempt from imperfection. 456 Please send your comments and general suggestions in this regard 457 to <a href="mailto:web-translators@gnu.org"> 458 <web-translators@gnu.org></a>.</p> 459 460 <p>For information on coordinating and contributing translations of 461 our web pages, see <a 462 href="/server/standards/README.translations.html">Translations 463 README</a>. --> 464 Please see the <a 465 href="/server/standards/README.translations.html">Translations 466 README</a> for information on coordinating and contributing translations 467 of this article.</p> 468 </div> 469 470 <!-- Regarding copyright, in general, standalone pages (as opposed to 471 files generated as part of manuals) on the GNU web server should 472 be under CC BY-ND 4.0. Please do NOT change or remove this 473 without talking with the webmasters or licensing team first. 474 Please make sure the copyright date is consistent with the 475 document. For web pages, it is ok to list just the latest year the 476 document was modified, or published. 477 478 If you wish to list earlier years, that is ok too. 479 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 480 years, as long as each year in the range is in fact a copyrightable 481 year, i.e., a year in which the document was published (including 482 being publicly visible on the web or in a revision control system). 483 484 There is more detail about copyright years in the GNU Maintainers 485 Information document, www.gnu.org/prep/maintain. --> 486 487 <p>Copyright © 2010, 2013, 2015, 2016, 2018, 2020, 2021, 2022 Richard Stallman</p> 488 489 <p>This page is licensed under a <a rel="license" 490 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative 491 Commons Attribution-NoDerivatives 4.0 International License</a>.</p> 492 493 <!--#include virtual="/server/bottom-notes.html" --> 494 495 <p class="unprintable">Updated: 496 <!-- timestamp start --> 497 $Date: 2022/01/01 17:25:38 $ 498 <!-- timestamp end --> 499 </p> 500 </div> 501 </div><!-- for class="inner", starts in the banner include --> 502 </body> 503 </html>