<!--#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
Software as a Service (<acronym title="Software as
a
Service">SaaS</acronym>), Software Substitute, or Service <abbr title="Service as a Software Substitute
(<acronym title="Service
Substitute">SaaSS</abbr> (we coined that to be less vague and
general than “Software as a Software Substitute">SaaSS</acronym>
— this term explains more clearly what the issue is), Service”), 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, you and isolated from others, is not enough by itself to communicate communicating with other people.</p>

<p>Non-SaaSS services anyone else.</p>

<p>A non-SaaSS service can mistreat their users in other ways. Issues
about a service can include whether by doing something
specific and unjust to the user.  For instance, it misuses could misuse the
data you users send it,
and whether it collects other or collect too much data (surveillance).  It could be
designed to mislead or cheat users (for instance, with “dark
patterns”).  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 a firm position on 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
“free” and “nonfree” 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 & GNU inquiries to
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></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"><webmasters@gnu.org></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">
        <web-translators@gnu.org></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 © 2012, 2016, 2017, 2018 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/07/05 14:30:13 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>