summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/selling-exceptions.html
blob: 8be6fe0cc5efef5c3d121d613a374097f510eeca (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
202
203
204
205
206
207
208
209
210
<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.96 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<!--#set var="TAGS" value="essays licensing copyleft" -->
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
<title>Selling Exceptions to the GNU GPL
- GNU Project - Free Software Foundation</title>
<link rel="canonical" href="http://www.fsf.org/blogs/rms/selling-exceptions" />
<!--#include virtual="/philosophy/po/selling-exceptions.translist" -->
<!--#include virtual="/server/banner.html" -->
<!--#include virtual="/philosophy/ph-breadcrumb.html" -->
<!--GNUN: OUT-OF-DATE NOTICE-->
<!--#include virtual="/server/top-addendum.html" -->
<div class="article reduced-width">
<h2>Selling Exceptions to the GNU GPL</h2>

<address class="byline">by <a href="https://www.stallman.org/">Richard
Stallman</a></address>

<p>Selling exceptions means that the copyright holder of the code
releases it to the general public under a valid free software license,
then separately offers users the option of paying for permission to
use the same code under different terms, for instance terms allowing
its inclusion in proprietary applications.</p>

<p>We must distinguish the practice of selling exceptions from something
crucially different: purely proprietary extensions or versions of
a free program.  These two activities, even if practiced
simultaneously by one company, are different issues.  In selling
exceptions, the same code that the exception applies to is available
to the general public as free software.  An extension or a modified
version that is only available under a proprietary license is
proprietary software, pure and simple, and just as wrong as any other
proprietary software.  This article is concerned with cases that
involve strictly and only the sale of exceptions.</p>

<p>We must also distinguish selling exceptions from dual licensing,
which means releasing the program under a choice of licenses.  With
dual licensing, each user can choose to use the program under either
one of the licenses, or under both in parallel for activities that fit
both.  (Thus, redistributors normally pass along both of the
licenses.)  For instance, Perl was distributed for many years under a
dual license whose alternatives were the GNU GPL and the Artistic
License.  That is not necessary any more because version 2 of the
Artistic License is compatible with the GNU GPL.</p>

<p>In selling exceptions, the exception's terms are not a second
license that the program is released under.  Rather, they are
available only to those users that buy an exception.  The only license
that the release carries is the GNU GPL, so this is not dual
licensing.</p>

<p>We must distinguish selling of exceptions from the usual kind of
&ldquo;exception to the GPL,&rdquo; which simply gives all users
permission to go beyond the GPL's conditions in some specific way.
These exceptions are governed by section 7 of the GNU GPL.  Selling
exceptions is legally independent of the GNU GPL.  To avoid confusion
it is best not to refer to exceptions that are sold as
&ldquo;exceptions to the GPL.&rdquo;</p>

<p>I've considered selling exceptions acceptable since the 1990s, and on
occasion I've suggested it to companies.  Sometimes this approach has
made it possible for important programs to become free software.</p>

<p>The KDE desktop was developed in the 90s based on the Qt library.  Qt
was proprietary software, and TrollTech charged for permission to
embed it in proprietary applications.  TrollTech allowed gratis use of
Qt in free applications, but this did not make it free/libre software.
Completely free operating systems therefore could not include Qt, so
they could not use KDE either.</p>

<p>In 1998, the management of TrollTech recognized that they could
make Qt free software and continue charging for permission to embed it
in proprietary software.  I do not recall whether the suggestion came
from me, but I certainly was happy to see the change, which made it
possible to use Qt and thus KDE in the free software world.</p>

<p>Initially, they used their own license, the Q Public License
(QPL)&mdash;quite restrictive as free software licenses go, and
incompatible with the GNU GPL.  Later they switched to the GNU GPL; I
think I had explained to them that it would work for the purpose.</p>

<p>Selling exceptions depends fundamentally on using a copyleft
license, such as the GNU GPL, for the free software release.  A
copyleft license permits embedding in a larger program only if the
whole combined program is released under that license; this is how it
ensures extended versions will also be free.  Thus, users that want to
make the combined program proprietary need special permission.  Only
the copyright holder can grant that, and selling exceptions is one
style of doing so.  Someone else, who received the code under the GNU
GPL or another copyleft license, cannot grant an exception.</p>

<p>When I first heard of the practice of selling exceptions, I asked
myself whether the practice is ethical.  If someone buys an exception
to embed a program in a larger proprietary program, he's doing
something wrong (namely, making proprietary software).  Does it follow
that the developer that sold the exception is doing something wrong
too?</p>

<p>If that implication were valid, it would also apply to releasing the
same program under a noncopyleft free software license, such as the
X11 license.  That also permits such embedding.  So either we have to
conclude that it's wrong to release anything under the X11
license&mdash;a conclusion I find unacceptably extreme&mdash;or reject
the implication.  Using a noncopyleft license is weak,
and <a href="/licenses/license-recommendations.html">usually an
inferior choice</a>, but it's not wrong.</p>

<p>In other words, selling exceptions permits limited embedding of the
code in proprietary software, but the X11 license goes even further,
permitting unlimited use of the code (and modified versions of it) in
proprietary software.  If this doesn't make the X11 license
unacceptable, it doesn't make selling exceptions unacceptable.</p>

<p>There are three reasons why the FSF doesn't practice selling
exceptions.  One is that it doesn't lead to the FSF's goal: assuring
freedom for each user of our software.  That's what we wrote the GNU
GPL for, and the way to achieve this most thoroughly is to release
under GPL version 3-or-later and not allow embedding in proprietary
software.  Selling exceptions wouldn't achieve this, just as release
under the X11 license wouldn't.  So normally we don't do either of
those things: we release under the GPL only.</p>

<p>Another reason we release only under the GPL is so as not to permit
proprietary extensions that would present practical advantages over
our free programs.  Users for whom freedom is not a value might choose
those nonfree versions rather than the free programs they are based
on&mdash;and lose their freedom.  We don't want to encourage that.</p>

<p>There are occasional cases where, for specific reasons of
strategy, we decide that using a more permissive license on a certain
program is better for the cause of freedom.  In those cases, we
release the program to everyone under that permissive license.</p>

<p>This is because of another ethical principle that the FSF follows:
to treat all users the same.  An idealistic campaign for freedom
should not discriminate, so the FSF is committed to giving the same
license to all users.  The FSF never sells exceptions; whatever
license or licenses we release a program under, that is available to
everyone.</p>

<p>But we need not insist that companies follow that principle.  I
consider selling exceptions an acceptable thing for a company to do,
and I will suggest it where appropriate as a way to get programs
freed.</p>
</div>

</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer" role="contentinfo">
<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 contributing 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 contributing 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; 2009, 2010, 2015, 2016, 2017, 2019, 2021 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: 2021/10/01 17:02:54 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>