www-commits
[Top][All Lists]
Advanced

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

www/licenses gpl-faq.html old-licenses/gpl-2.0-...


From: Ted Teah
Subject: www/licenses gpl-faq.html old-licenses/gpl-2.0-...
Date: Fri, 10 Mar 2017 10:33:51 -0500 (EST)

CVSROOT:        /web/www
Module name:    www
Changes by:     Ted Teah <tedt> 17/03/10 10:33:50

Modified files:
        licenses       : gpl-faq.html 
        licenses/old-licenses: gpl-2.0-faq.html 

Log message:
        Updated FAQ

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gpl-faq.html?cvsroot=www&r1=1.228&r2=1.229
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/old-licenses/gpl-2.0-faq.html?cvsroot=www&r1=1.34&r2=1.35

Patches:
Index: gpl-faq.html
===================================================================
RCS file: /web/www/www/licenses/gpl-faq.html,v
retrieving revision 1.228
retrieving revision 1.229
diff -u -b -r1.228 -r1.229
--- gpl-faq.html        17 Feb 2017 04:57:09 -0000      1.228
+++ gpl-faq.html        10 Mar 2017 15:33:50 -0000      1.229
@@ -587,6 +587,9 @@
     program, do I have to use the GPL as the license for my
     module?</a></li>
   
+    <li><a href="#GPLPlugins">When are a program and its plug-ins
+    considered a single combined program?</a></li>
+  
     <li><a href="#GPLAndPlugins">If I write a plug-in to use with
     a GPL-covered program, what requirements does that impose
     on the licenses I can use for distributing my plug-in?</a></li>
@@ -1751,28 +1754,46 @@
 eliminates the problem.</p></dd>
 
 
+<dt id="GPLPlugins">When are a program and its plug-ins considered a single 
combined program?
+ <span class="anchor-reference-id">(<a href="#GPLPlugins"
+ >#GPLPlugins</a>)</span></dt>
+<dd><p>
+    It depends on how the main program invokes its plug-ins. If the
+main program uses fork and exec to invoke plug-ins, and they establish
+intimate communication by sharing complex data structures, or shipping
+complex data structures back and forth, that can make them one single
+combined program. A main program that uses simple fork and exec to
+invoke plug-ins and does not establish intimate communication between
+them results in the plug-ins being a separate program.</p>
+       
+<p> If the main program dynamically links plug-ins, and they make
+function calls to each other and share data structures, we believe
+they form a single combined program, which must be treated as an
+extension of both the main program and the plug-ins. If the main
+program dynamically links plug-ins, but the communication between them
+is limited to invoking the &lsquo;main&rsquo; function of the plug-in
+with some options and waiting for it to return, that is a borderline
+case.</p>
+
+<p>Using shared memory to communicate with complex data structures is
+pretty much equivalent to dynamic linking.</p></dd>
+
+
 <dt id="GPLAndPlugins">If I write a plug-in to use with a GPL-covered
   program, what requirements does that impose on the licenses I can
   use for distributing my plug-in?
  <span class="anchor-reference-id">(<a href="#GPLAndPlugins"
  >#GPLAndPlugins</a>)</span></dt>
 <dd><p>
-It depends on how the program invokes its plug-ins.  If the program
-uses fork and exec to invoke plug-ins, then the plug-ins are separate
-programs, so the license for the main program makes no requirements
-for them.</p>
-
-<p>If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  This means you must license the plug-in
-under the GPL or a GPL-compatible free software license and distribute
-it with source code in a GPL-compliant way.</p>
-
-<p>If the program dynamically links plug-ins, but the communication
-between them is limited to invoking the &lsquo;main&rsquo; function of
-the plug-in with some options and waiting for it to return, that is a
-borderline case.</p></dd>
+Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they considered are separate works</a>.</p>
+
+<p> If the main program and the plugins are a single combined program then 
this means
+you must license the plug-in under the GPL or a GPL-compatible free
+software license and distribute it with source code in a GPL-compliant
+way. A main program that is a seperate from its plug-ins makes no
+requirements for the plug-ins. </p></dd>
 
 
 <dt id="GPLPluginsInNF">Can I apply the
@@ -1780,19 +1801,15 @@
  <span class="anchor-reference-id">(<a href="#GPLPluginsInNF"
  >#GPLPluginsInNF</a>)</span></dt>
 <dd><p>
-If the program uses fork and exec to invoke plug-ins, then the
-plug-ins are separate programs, so the license for the main program
-makes no requirements for them.  So you can use the GPL for a plug-in,
-and there are no special requirements.</p>
-
-<p>If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  This means that combination of the
-GPL-covered plug-in with the non-free main program would violate the
-GPL.  However, you can resolve that legal problem by adding an
-exception to your plug-in's license, giving permission to link it with
-the non-free main program.</p>
+ Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they are considered separate programs</a>.</p>
+<p> If they form a
+single combined program this means that combination of the GPL-covered
+plug-in with the non-free main program would violate the GPL. However,
+you can resolve that legal problem by adding an exception to your
+plug-in's license, giving permission to link it with the non-free main
+program.</p>
 
 <p>See also the question <a href="#FSWithNFLibs">I am
 writing free software that uses a non-free library.</a></p></dd>
@@ -1802,28 +1819,19 @@
     that's designed to load a GPL-covered plug-in?
  <span class="anchor-reference-id">(<a href="#NFUseGPLPlugins"
  >#NFUseGPLPlugins</a>)</span></dt>
-<dd><p>
-It depends on how the program invokes its plug-ins.  For instance, if
-the program uses <em>only</em> simple fork and exec to invoke and
-communicate with plug-ins, then the plug-ins are separate programs, so
-the license of the plug-in makes no requirements about the main
-program.</p>
 
-<p>If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  In order to use the GPL-covered plug-ins,
-the main program must be released under the GPL or a GPL-compatible
-free software license, and that the terms of the GPL must be followed
-when the main program is distributed for use with these plug-ins.</p>
-
-<p>If the program dynamically links plug-ins, but the communication
-between them is limited to invoking the &lsquo;main&rsquo; function of
-the plug-in with some options and waiting for it to return, that is a
-borderline case.</p>
+<dd><p>
+ Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they are considered separate programs</a>.</p>
+<p>
+If they form a single combined program then the
+main program must be released under the GPL or a GPL-compatible free
+software license, and that the terms of the GPL must be followed when
+the main program is distributed for use with these plug-ins.</p>
 
-<p>Using shared memory to communicate with complex data structures
-is pretty much equivalent to dynamic linking.</p>
+<p>However, if they are separate works then the license of the plug-in
+makes no requirements about the main program.</p>
 
 <p>See also the question <a href="#FSWithNFLibs">I am
 writing free software that uses a non-free library.</a></p></dd>
@@ -3888,7 +3896,7 @@
 
 <p class="unprintable">Updated:
 <!-- timestamp start -->
-$Date: 2017/02/17 04:57:09 $
+$Date: 2017/03/10 15:33:50 $
 <!-- timestamp end -->
 </p>
 </div>

Index: old-licenses/gpl-2.0-faq.html
===================================================================
RCS file: /web/www/www/licenses/old-licenses/gpl-2.0-faq.html,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- old-licenses/gpl-2.0-faq.html       17 Feb 2017 04:57:11 -0000      1.34
+++ old-licenses/gpl-2.0-faq.html       10 Mar 2017 15:33:50 -0000      1.35
@@ -365,6 +365,10 @@
     module to a GPL-covered program, do I have to use the GPL as the
     license for my module?</a></li>
   
+    <li><a href="#GPLPlugins" name="TOCGPLPlugins">
+    When are a program and its plug-ins
+    considered a single combined program?</a></li>
+  
     <li><a href="#GPLAndPlugins" name="TOCGPLAndPlugins">If a program
     released under the GPL uses plug-ins, what are the requirements for
     the licenses of a plug-in?</a></li>
@@ -1300,78 +1304,85 @@
 which eliminates the problem.
 </p></dd>
 
+<dt><b><a href="#TOCGPLPlugins" name="GPLPlugins">
+When are a program and its plug-ins considered a single combined program?
+</a></b></dd>
+<dd>
+    It depends on how the main program invokes its plug-ins. If the
+main program uses fork and exec to invoke plug-ins, and they establish
+intimate communication by sharing complex data structures, or shipping
+complex data structures back and forth, that can make them one single
+combined program. A main program that uses simple fork and exec to
+invoke plug-ins and does not establish intimate communication between
+them results in the plug-ins being a separate program.
+       
+<p> If the main program dynamically links plug-ins, and they make
+function calls to each other and share data structures, we believe
+they form a single combined program, which must be treated as an
+extension of both the main program and the plug-ins. If the main
+program dynamically links plug-ins, but the communication between them
+is limited to invoking the &lsquo;main&rsquo; function of the plug-in
+with some options and waiting for it to return, that is a borderline
+case.</p>
+
+<p>Using shared memory to communicate with complex data structures is
+pretty much equivalent to dynamic linking.</p></dd>
+
+
 <dt><b><a href="#TOCGPLAndPlugins" name="GPLAndPlugins">If a program
   released under the GPL uses plug-ins, what are the requirements for
   the licenses of a plug-in?</a></b></dt>
 
 <dd>
-It depends on how the program invokes its plug-ins.  If the program
-uses fork and exec to invoke plug-ins, then the plug-ins are separate
-programs, so the license for the main program makes no requirements
-for them.
-<p>
-If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  This means the plug-ins must be released
-under the GPL or a GPL-compatible free software license, and that the
-terms of the GPL must be followed when those plug-ins are
-distributed.</p>
-<p>
-If the program dynamically links plug-ins, but the communication
-between them is limited to invoking the &lsquo;main&rsquo; function of
-the plug-in with some options and waiting for it to return, that is a
-borderline case.
-</p></dd>
+Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they considered are separate works</a>.
+
+<p> If the main program and the plugins are a single combined program then 
this means
+you must license the plug-in under the GPL or a GPL-compatible free
+software license and distribute it with source code in a GPL-compliant
+way. A main program that is a seperate from its plug-ins makes no
+requirements for the plug-ins. </p></dd>
+
 
 <dt><b><a href="#TOCGPLPluginsInNF" name="GPLPluginsInNF">Can I apply the
 GPL when writing a plug-in for a non-free program?</a></b></dt>
 
 <dd>
-If the program uses fork and exec to invoke plug-ins, then the
-plug-ins are separate programs, so the license for the main program
-makes no requirements for them.  So you can use the GPL for a plug-in,
-and there are no special requirements.
-<p>
-If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  This means that combination of the
-GPL-covered plug-in with the non-free main program would violate the
-GPL.  However, you can resolve that legal problem by adding an
-exception to your plug-in's license, giving permission to link it with
-the non-free main program.</p>
-<p>
-See also the question <a href="#FSWithNFLibs">I am
-writing free software that uses a non-free library.</a>
-</p></dd>
+ Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they are considered separate programs</a>.
+<p> If they form a
+single combined program this means that combination of the GPL-covered
+plug-in with the non-free main program would violate the GPL. However,
+you can resolve that legal problem by adding an exception to your
+plug-in's license, giving permission to link it with the non-free main
+program.</p>
+
+<p>See also the question <a href="#FSWithNFLibs">I am
+writing free software that uses a non-free library.</a></p></dd>
+
 
 <dt><b><a href="#TOCNFUseGPLPlugins" name="NFUseGPLPlugins">Can I
 release a non-free program that's designed to load a GPL-covered
 plug-in?</a></b></dt>
 
 <dd>
-It depends on how the program invokes its plug-ins.
-If the program uses fork and exec to invoke plug-ins, then the
-plug-ins are separate programs, so the license of the plug-in
-makes no requirements about the main program.
-<p>
-If the program dynamically links plug-ins, and they make function
-calls to each other and share data structures, we believe they form a
-single program, which must be treated as an extension of both the main
-program and the plug-ins.  In order to use the GPL-covered plug-ins,
-the main program must be released under the GPL or a GPL-compatible
-free software license, and that the terms of the GPL must be followed
-when the main program is distributed for use with these plug-ins.</p>
-<p>
-If the program dynamically links plug-ins, but the communication
-between them is limited to invoking the &lsquo;main&rsquo; function of
-the plug-in with some options and waiting for it to return, that is a
-borderline case.</p>
-<p>
-See also the question <a href="#FSWithNFLibs">I am
-writing free software that uses a non-free library.</a>
-</p></dd>
+ Please see this question <a href="#GPLPlugins">for determining when
+plug-ins and a main program are considered a single combined program
+and when they are considered separate programs</a>.
+<p>
+If they form a single combined program then the
+main program must be released under the GPL or a GPL-compatible free
+software license, and that the terms of the GPL must be followed when
+the main program is distributed for use with these plug-ins.</p>
+    
+<p>However, if they are separate works then the license of the plug-in
+makes no requirements about the main program.</p>
+
+<p>See also the question <a href="#FSWithNFLibs">I am
+writing free software that uses a non-free library.</a></p></dd>
+
 
 <dt><b><a href="#TOCLinkingWithGPL" name="LinkingWithGPL">You have a
   GPL'ed program that I'd like to link with my code to build a
@@ -1585,8 +1596,8 @@
 
 <dd>
 
-<p><a href="/licenses/lgpl-java.html">See this article for details.</a>  It 
works as designed, intended, and expected.
-</p></dd>
+<a href="/licenses/lgpl-java.html">See this article for details.</a>  It works 
as designed, intended, and expected.
+</dd><p></p>
 
 <dt><b><a href="#TOCConsider" name="Consider">Consider this situation:
        1. X releases V1 of a project under the GPL.
@@ -1654,11 +1665,11 @@
 lax permissive license (such as the X11 license) in between the
 GPL-covered part and the proprietary part?</a></b></dt>
 
-<dd><p>No.  The X11 license is compatible with the GPL, so you can add
+<dd>No.  The X11 license is compatible with the GPL, so you can add
 a module to the GPL-covered program and put it under the X11 license.
 But if you were to incorporate them both in a larger program, that
 whole would include the GPL-covered part, so it would have to be
-licensed <em> as a whole </em> under the GNU GPL.</p>
+licensed <em> as a whole </em> under the GNU GPL.
 
 <p>The fact that proprietary module A communicates with GPL-covered
 module C only through X11-licensed module B is legally irrelevant;
@@ -1668,8 +1679,8 @@
 <dt><b><a href="#TOCLibGCCException" name="LibGCCException"> Does the
 libstdc++ exception permit dynamic linking?</a></b></dt>
 
-<dd><p>Yes.  The intent of the exception is to allow people to compile
-proprietary software using gcc.</p></dd>
+<dd>Yes.  The intent of the exception is to allow people to compile
+proprietary software using gcc.</dd><p></p>
 
 <dt><b><a href="#TOCMoneyGuzzlerInc" name="MoneyGuzzlerInc">I'd like to
   modify GPL-covered programs and link them with the portability
@@ -2471,7 +2482,7 @@
 
 <p class="unprintable">Updated:
 <!-- timestamp start -->
-$Date: 2017/02/17 04:57:11 $
+$Date: 2017/03/10 15:33:50 $
 <!-- timestamp end -->
 </p>
 </div>



reply via email to

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