summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/is-ever-good-use-nonfree-program.html
blob: f7ab40136635f7cdbf88efeb9a6fa8ff6b5707fc (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
<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.84 -->
<title>Is It Ever a Good Thing to Use a Nonfree Program? 
- GNU Project - Free Software Foundation</title>
 <!--#include virtual="/philosophy/po/is-ever-good-use-nonfree-program.translist" -->
<!--#include virtual="/server/banner.html" -->

<h2>Is It Ever a Good Thing to Use a Nonfree Program?</h2>

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

<p>If you run a nonfree program on your computer, it denies your freedom;
the immediate wrong is directed at you.(<a href="#footnote">*</a>)</p>

<p>If you recommend that others run the nonfree program,
or lead them to do so, you're leading them to give
up their freedom. Thus, we have a responsibility not to lead
or encourage others to run nonfree software.  Where the program uses
a secret protocol for communication, as in the case of Skype, your own
use of it pressures others to use it too, so it is especially
important to avoid any use of these programs.</p>

<p>But there is one special case where using some nonfree software, and
even urging others to use it, can be a positive thing. That's when
the use of the nonfree software aims directly at putting an end to the
use of that very same nonfree software.</p>

<p>In 1983 I decided to develop the GNU operating system, as a free
replacement for Unix. The feasible way to do it was to write and test
the components one by one on Unix. But was it legitimate to use Unix
for this? And was it legitimate to ask others to use Unix for this,
given that Unix was proprietary software?  (Of course, if it had not
been proprietary, it would not have required replacing.)</p>

<p>The conclusion I reached was that using Unix to put an end to the use
of Unix was legitimate for me to suggest to other developers.
I likened it to participating in small ways
in some evil activity, such as a criminal gang or a dishonest
political campaign, in order to expose it and shut it down. While
participating in the activity is wrong in itself, shutting it down
excuses minor peripheral participation, comparable to merely using
Unix. This argument would not justify being a ringleader, but I was
only considering using Unix, not going to work for its development
team.</p>

<p>The job of replacing Unix was completed when the last essential
component was replaced by Linux, the kernel started by Linus Torvalds
in 1991. We still add to the GNU/Linux system, but that doesn't
require using Unix, so it isn't a reason for using Unix&mdash;not any
more. Thus, whenever you're using a nonfree program for this sort of
reason, you should reconsider from time to time whether the need still
exists.</p>

<p>However, there are other nonfree programs we still need to replace,
and the analogous question often arises. Should you run the nonfree
driver for a peripheral to help you develop a free replacement driver?
(More precisely, is it ethical for us to suggest that you do so?)
Yes, by all means. Is it ok to run
the <a href="/philosophy/javascript-trap.html">nonfree
JavaScript</a> on a web site in order to file complaint asking the
webmasters to free that JavaScript code, or make the site work without
it?  Definitely&mdash;but other than that, you should
have <a href="/software/librejs/">LibreJS</a> block
it for you.</p>

<p>But this justification won't stretch any further. People that develop
nonfree software, even software with malicious functionalities, often
try to excuse this on the grounds that they fund some development of
free software. However, a business that is basically wrong can't be
legitimized by spending some of the profits on a worthy cause. For
instance, some (not all) of the activities of the Gates Foundation are
laudable, but they don't excuse Bill Gates's career, or Microsoft. If
the business works directly against the worthy cause it tries to
legitimize itself with, that is a self-contradiction and it undermines
the cause.</p>

<p>Even using a nonfree program to develop free software in general is
better to avoid, and not suggest to others. For instance, we should
not ask people to run Windows or MacOS in order to make free
applications run on them. As developer of Emacs and GCC, I accepted
changes to make them support nonfree systems such as VMS, Windows and
MacOS.  I had no reason to reject that code, even though people had
run nonfree systems to write it.  Their use of unjust systems was not
at my request or suggestion; rather, they were already using them
before starting to write changes for GNU.  They also did the packaging
of releases for those systems.</p>

<p>The &ldquo;developing its own replacement&rdquo; exception is valid within its
limits, and crucial for the progress of free software, but we must
resist stretching it any further lest it turn into an all-purpose
excuse for any profitable activity with nonfree software.</p>

<hr />

<p>Occasionally it is necessary to use and even upgrade a nonfree
system on a machine in order to install a free system to replace it on
that machine.  This is not exactly the same issue, but the same
arguments apply: it is legitimate to recommend running some nonfree
software momentarily in order to remove it.</p>


<hr />

<p id="footnote">Footnote: Using the nonfree program can have
unfortunate indirect effects, such as rewarding the perpetrator and
encouraging more use of that program.  This is a further reason to
shun use of nonfree programs.</p>

<p>Most proprietary programs come with an End User License Agreement
that hardly anyone reads.  Tucked away in it, in most cases, is an
unethical commitment to behave like an uncooperative, bad neighbor.
It claims you promised not to distribute copies to others, or even
lend someone a copy.</p>

<p>To carry out such a commitment is more wrong than to break it.  No
matter what legalistic arguments they might make, the developers can
hardly claim their shady trick gives users a moral obligation to be
uncooperative.</p>

<p>However, we think that the truly moral path is to carefully reject
such agreements.</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; 2013, 2015, 2016, 2017 Richard Stallman</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: 2017/08/27 14:56:06 $
<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>