www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/licenses license-compatibility.html


From: Richard M. Stallman
Subject: www/licenses license-compatibility.html
Date: Fri, 14 Sep 2018 07:28:55 -0400 (EDT)

CVSROOT:        /web/www
Module name:    www
Changes by:     Richard M. Stallman <rms>       18/09/14 07:28:55

Modified files:
        licenses       : license-compatibility.html 

Log message:
        Add new footnote 1.
        (Coimbining code): New section.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/license-compatibility.html?cvsroot=www&r1=1.4&r2=1.5

Patches:
Index: license-compatibility.html
===================================================================
RCS file: /web/www/www/licenses/license-compatibility.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- license-compatibility.html  15 Feb 2016 09:42:22 -0000      1.4
+++ license-compatibility.html  14 Sep 2018 11:28:55 -0000      1.5
@@ -10,11 +10,11 @@
 
 <p>If you want to combine two free programs into one, or merge code from
 one into the other, this raises the question of whether their licenses
-allow combining them.</p>
+allow combining them, or prohibit combining them.<a href="#f1">(*)</a></p>
 
 <p>There is no problem merging programs that have the same license, if it
 is a reasonably behaved license, as nearly all free licenses
-are.<a href="#f1">(*)</a></p>
+are.<a href="#f2">(**)</a></p>
 
 <p>What then when the licenses are different?  In general we say that
 several licenses are <em>compatible</em> if there is a way to merge
@@ -46,7 +46,7 @@
 parts can't be distinguished any more, that merged code should carry
 all the licenses of the merged parts.  Since all the licenses are lax
 anyway, this causes no practical problem except that the list of
-licenses gets long.<a href="#f2">(**)</a></p>
+licenses gets long.<a href="#f3">(***)</a></p>
 
 <p>By the same token, lax licenses are usually compatible with any
 copyleft license.  In the combined program, the parts that came in
@@ -119,7 +119,7 @@
 <p>Since then, I have come to question the wisdom of that decision.
 Programs such as Linux, which allow only one GNU GPL version and
 reject license upgrades, cause practical
-incompatibility.<a href="#f3">(***)</a>  Perhaps we should include an
+incompatibility.<a href="#f4">(****)</a>  Perhaps we should include an
 upgrade clause in GPL version 4, if we ever need a version 4.</p>
 
 <p>Some copyleft licenses allow cross-copyleft combinations with an
@@ -199,7 +199,7 @@
 the GNU GPL except when the code explicitly denies this
 permission.</p>
 
-<p>Finally, what about dual licensing?<a href="#f4">(****)</a> A dual
+<p>Finally, what about dual licensing?<a href="#f5">(*****)</a> A dual
 license is a disjunction: it means that the same program carries a
 choice of two or more different licenses.  For instance, older
 versions of Perl carried a dual license: the disjunction of the
@@ -216,9 +216,54 @@
 Choosing GPL or AGPL, version 3 or later, will also do the utmost to
 defend freedom for all users of all versions of your code.</p>
 
+<h3 id="combining">Combining code</h3>
+
+<p>When a set of licenses are compatible, that means you can legally
+combine or merge a number of programs each licensed under one of those
+licenses.  How, then, is the combined program licensed?</p>
+
+<p>Each free software license says you must keep the license with the
+code that is covered by it.  So in a strict sense, the licensing of
+the combined program includes the licenses of all its parts.  However,
+sometimes you want a <em>summary</em> answer to the question of how
+the combined program is licensed.  Which licenses does someone using
+the combined program <em>need to pay attention to?</em></p>
+
+<p>To compute that, you start with a list of all the pertinent
+licenses.  Then you can delete from the list any license which is
+subsumed by another in the list.</p>
+
+<p>We say that a license A <em>subsumes</em> license B when compliance with
+license A implies compliance with license B.</p>
+
+<p>For instance, the GNU GPL version N and the GNU Affero GPL version
+N both subsume the GNU Lesser GPL version N, and all three of those
+subsume the GNU Lesser GPL version 2.1.</p>
+
+<p>Any GNU license, version N, subsumes the Apache 2.0 license provided
+N is at least 3.</p>
+
+<p>The GNU GPL, version N, subsumes all versions of the Mozilla Public
+License that are compatible with it.</p>
+
+<p>The Apache 2.0 license subsumes the BSD, Expat, X11, ISC and CC-0
+licenses.  BSD 3 clause subsumes BSD 2 clause.  The BSD licenses
+subsume the Expat, X11 and ISC licenses and CC-0.</p>
+
+<p>This is not meant to be a complete list, but if we are informed of
+other cases worth mentioning, we will add them.</p>
+
+<p>When some license is subsumed, you still need to include a copy
+of it with all distribution of the combined program.</p>
+
 <h3 id="footnotes">Footnotes</h3>
 
-<p id="f1"><b>*</b> The main license in actual use that isn't
+<p id="f1"><b>*</b> It is not inconceivable that other legal issues
+might arise about a specific combination of programs, issues not
+related to the copyright licenses of the programs to be combined.  We
+discuss only the implications of the licenses themselves.</a>
+
+<p id="f2"><b>**</b> The main license in actual use that isn't
 reasonably behaved is the license of TeX: if two programs are licensed
 just the way TeX is, there is no authorized way to distribute a merged
 version of them.</p>
@@ -233,23 +278,23 @@
 <p>It is no coincidence that TeX was released in 1982: our community has
 learned, since then, to write reasonably behaved licenses.</p>
 
-<p id="f2"><b>**</b> When distributing in source code
+<p id="f3"><b>***</b> When distributing in source code
 form, it is usually sufficient to leave the license notices in the
 source code as they stand; extra license notice requirements typically
 only come up for lax licenses when distributing binaries without the
 source code.</p>
 
-<p id="f3"><b>***</b> In addition, GPL version 2 still allows binaries
-to be made nonfree by hardware that rejects all but special signed
-binaries, and still does not allow distribution of binaries by
-torrent, as it did when first published.  We fixed those things and
-others in version 3, but we can't change version 2.</p>
-
-<p id="f4"><b>****</b> Some inexplicably use the term &ldquo;dual
-licensing&rdquo; to refer to selling exceptions, but that is an abuse
-of language. See <a href="/philosophy/selling-exceptions.html">
-Selling Exceptions</a>.  Note that if the license sold as an exception
-includes any code that is not in the ordinary free release, that's not
+<p id="f4"><b>****</b> In addition, GPL version 2 still allows
+binaries to be made nonfree by hardware that rejects all but special
+signed binaries, and still does not allow distribution of binaries by
+torrent.  <A href="/licenses/rms-why-gplv3.html">We fixed those
+problems, and others, in version 3</a>, but we can't change version 2.</p>
+
+<p id="f5"><b>*****</b> Some use the term &ldquo;dual licensing&rdquo;
+to refer to selling exceptions, but that is a misnomer.
+See <a href="/philosophy/selling-exceptions.html"> Selling
+Exceptions</a>.  Note that if the program on which the license is sold
+includes any code that is not in the free (libre) release, that's not
 selling exceptions, that's nonfree software.</p>
 
 </div><!-- for id="content", starts in the include above -->
@@ -309,7 +354,7 @@
 
 <p class="unprintable">Updated:
 <!-- timestamp start -->
-$Date: 2016/02/15 09:42:22 $
+$Date: 2018/09/14 11:28:55 $
 <!-- timestamp end -->
 </p>
 </div>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]