summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/network-services-arent-free-or-nonfree.html
blob: 8f5200ce96cf07c2fb9faa6a8ce533482fc5be2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.86 -->
<title>Network Services Aren't Free or Nonfree; They Raise Other Issues
- GNU Project - Free Software Foundation</title>
<!--#include virtual="/philosophy/po/network-services-arent-free-or-nonfree.translist" -->
<!--#include virtual="/server/banner.html" -->

<h2>Network Services Aren't Free or Nonfree; They Raise Other Issues</h2>

<p>by <a href="http://www.stallman.org/">Richard Stallman</a></p>

<p><strong>Programs and services are different kinds of entities. A
program is a work that you can execute; a service is an activity that
you might interact with.</strong></p>

<p>For programs, we make a distinction between free and nonfree
(proprietary). More precisely, this distinction applies to a program
that you have a copy of: either
you <a href="/philosophy/free-sw.html"> have the four freedoms for
your copy</a> or you don't.</p>

<p>An activity (such as a service) doesn't exist in the form of
copies, so it's not possible for a user to have a copy of it, let alone
make more copies.  As a result, the four freedoms that define free
software don't make sense for services.</p>

<p>To use a culinary analogy, my cooking can't be a copy of your
cooking, not even if I learned to cook by watching you. I might have
and use a copy of the <em>recipe</em> you use to do your cooking,
because a recipe, like a program, is a work and exists in copies, but
the recipe is not the same as the cooking. (And neither of those is
the same as the food produced by the cooking.)</p>

<p>With today's technology, services are often implemented by running
programs on computers, but that is not the only way to implement them.
(In fact, there are network services that are implemented by asking
human beings to enter responses to questions.) In any case, the
implementation is not visible to users of the service, so it has no
direct effect on them.</p>

<p>A network service can raise issues of free vs nonfree software for
its users through the client software needed to use it. If the service
requires using a nonfree client program, use of the service requires
ceding your freedom to that program. With many web services, the
nonfree software is <a href="/philosophy/javascript-trap.html">
JavaScript code</a> silently installed in the user's
browser. The <a href="/software/librejs">GNU LibreJS</a> program makes
it easier to refuse to run this nonfree JavaScript code. But the issue
of the client software is logically separate from the service as
such.</p>

<p>There is one case where a service is directly comparable to a
program: when using the service is equivalent to having a copy of a
hypothetical program and running it yourself. In this case, we call it Service as
a Software Substitute, or <abbr title="Service as a Software
Substitute">SaaSS</abbr> (we coined that to be less vague and
general than &ldquo;Software as a Service&rdquo;), and such a service
is always a bad thing.  The job it does is the users' own computing,
and the users ought to have full control over that.  The way for users
to have control over their own computing is to do it by running their
own copies of a free program.  Using someone else's server to do that
computing implies losing control of it.</p>

<p>SaaSS is equivalent to using a nonfree program with surveillance features 
and a universal back door, so <a 
href="/philosophy/who-does-that-server-really-serve.html">you should reject 
it and replace it with a free program</a> that does the same job.</p>

<p>However, most services' principal functions are communicating or
publishing information; they are nothing like running any program
yourself, so they are not SaaSS. They could not be replaced by your copy of a
program, either; a program running in your own computers, used solely
by you and isolated from others, is not communicating with anyone else.</p>

<p>A non-SaaSS service can mistreat users by doing something
specific and unjust to the user.  For instance, it could misuse the
data users send it, or collect too much data (surveillance).  It could be
designed to mislead or cheat users (for instance, with &ldquo;dark
patterns&rdquo;).  It could impose antisocial or unjust usage
conditions.
The <a href="https://web.archive.org/web/20090124084811/http://autonomo.us/2008/07/franklin-street-statement/">Franklin
Street Statement</a> made a stab at addressing these issues, but we
don't have full understanding of them as yet. What's clear is that the
issues about a service are <em>different</em> from the issues about a
program. Thus, for clarity's sake, it is better not to apply the terms
&ldquo;free&rdquo; and &ldquo;nonfree&rdquo; to a service.</p>

<p>Let's suppose a service is implemented using software: the server
operator has copies of many programs, and runs them to implement the
service. These copies may be free software or not. If the operator
developed them and uses them without distributing copies, they are
free in a trivial sense since every user (there's only one) has the
four freedoms.</p>

<p>If some of them are nonfree, that usually doesn't directly affect
users of the service. They are not running those programs; the service
operator is running them. In a special situation, these programs can
indirectly affect the users of the service: if the service holds
private information, users might be concerned that nonfree programs on
the server might have back doors allowing someone else to see their
data. In effect, nonfree programs on the server require users to trust
those programs' developers as well as the service operator. How
significant this is in practice depends on the details, including what
jobs the nonfree programs do.</p>

<p>However, the one party that is <em>certainly</em> mistreated by the
nonfree programs implementing the service is the server operator
herself. We don't condemn the server operator for being at the mercy
of nonfree software, and we certainly don't boycott her for this.
Rather, we are concerned for her freedom, as with any user of nonfree
software. Given an opportunity, we try to explain how it curtails her
freedom, hoping she will switch to free software.</p>

<p>Conversely, if the service operator runs GNU/Linux or other free
software, that's not a virtue that affects you, but rather a benefit
for her.  We don't praise or thank her for this; rather we felicitate
her for making the wise choice.</p>

<p>If she has developed some software for the service, and released it
as free software, that's the point at which we have a reason to thank
her. We suggest releasing these programs under
the <a href="/licenses/license-recommendations.html">GNU Affero
GPL</a>, since evidently they are useful on servers.</p>

<p><a href="/licenses/why-affero-gpl.html">Why the Affero
GPL?</a></p>

<p>Thus, we don't have a rule that free systems shouldn't use (or
shouldn't depend on) services (or sites) implemented with nonfree
software. However, they should not depend on, suggest or encourage use
of services which are SaaSS; use of SaaSS needs to be replaced by use
of free software.  All else being equal, it is good to favor those
service providers who contribute to the community by releasing useful
free software, and good to favor peer-to-peer communication over
server-based centralized communication, for activities that don't
inherently require a central hub.</p>

</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer">
<div class="unprintable">

<p>Please send general FSF &amp; GNU inquiries to
<a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF.  Broken links and other corrections or suggestions can be sent
to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>

<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">
        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Please see the <a
href="/server/standards/README.translations.html">Translations
README</a> for information on coordinating and submitting translations
of this article.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->

<p>Copyright &copy; 2012, 2016, 2017, 2018, 2020 Free Software Foundation, Inc.</p>

<p>This page is licensed under a <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
Commons Attribution-NoDerivatives 4.0 International License</a>.</p>

<!--#include virtual="/server/bottom-notes.html" -->

<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2020/01/07 16:54:09 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>