summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/selling-exceptions.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/en/selling-exceptions.html')
-rw-r--r--talermerchantdemos/blog/articles/en/selling-exceptions.html184
1 files changed, 184 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/en/selling-exceptions.html b/talermerchantdemos/blog/articles/en/selling-exceptions.html
new file mode 100644
index 0000000..5da0eb9
--- /dev/null
+++ b/talermerchantdemos/blog/articles/en/selling-exceptions.html
@@ -0,0 +1,184 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.90 -->
+<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" -->
+<h2>Selling Exceptions to the GNU GPL</h2>
+
+<p>by <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+<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 non-free 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><!-- 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>
+
+<p>Copyright &copy; 2009, 2010, 2015, 2016, 2017, 2018, 2019 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: 2019/12/30 11:28:30 $
+<!-- timestamp end -->
+</p>
+</div>
+</div><!-- for class="inner", starts in the banner include -->
+</body>
+</html>