chiark / gitweb /
Updated to be less GPL-variant-ish
[adns.git] / GPL-vs-LGPL
1               GPL vs LGPL, in the context of adns
2               -----------------------------------
3
4 Several people have asked me to release adns under the GNU Lesser
5 General Public Licence (LGPL, formerly the Library GPL) instead of the
6 `stronger' GPL.  This file is intended to answer most of these
7 questions.  If you still have questions or comments, please mail me at
8 <adns-maint@chiark.greenend.org.uk>.
9
10 Typically there are two or three kinds of situation where people make
11 this request: the first is where someone is developing a proprietary
12 program and wishes to make use of adns but doesn't wish to make their
13 program free software.  The second case is where a free software
14 project is currently using an MIT-like licence and fear `GPL
15 infection'.  The third case, which often overlaps with the second, is
16 where another free software project currently using a GPL-incompatible
17 licence, wishes to use adns.
18
19
20 1. Proprietary applications of adns
21 -----------------------------------
22
23 So, let me get this straight.  You're writing a proprietary
24 program, by which I mean that you will not be distributing source code
25 and not allowing users to modify and share your software; most likely
26 you are doing this for your own (personal or corporate) financial
27 gain.
28
29 However, you want to take advantage of adns, software which I have
30 spent my time and effort on, and which I release as free software so
31 that everyone can improve, share and use it.
32
33 Don't you think that is a little hypocritical ?  I'm sorry, but I
34 don't want you to just take my nice convenient software, without
35 giving something back to the free software community or giving the
36 same rights to your users as I do to you.
37
38 If you really aren't the nasty kind of person I've described here, for
39 example if you have a good reason other than your own selfishness for
40 wanting to restrict distribution of your program, then perhaps you
41 should contact me to discuss it.
42
43
44 2. GPL-avoiding projects (MIT licence, et al)
45 ---------------------------------------------
46
47 Some free software projects prefer to avoid the GPL and other licences
48 which force the software always to be free.  Instead they use
49 something like the MIT X licence, which allows proprietary versions of
50 their software.  I have to say that I don't understand why they do
51 this, and think they are misguided, but that doesn't mean that they
52 don't have a perfect right to.
53
54 Some of these people think that merely writing to an interface
55 provided by GPL'd software will cause their program to become GPL'd
56 too, even if they don't distribute the GPL'd software.  I don't think
57 this is the case.  I'm perfectly happy for non-GPL'd software to refer
58 to adns in its source code or executables (eg, dynamic linking).
59 However, if you distribute adns yourself then whether a program which
60 uses it needs also to be GPL'd depends on the interpretation of the
61 `work as a whole' and `mere aggregation' parts of the GPL.
62
63 Whether you are distributing a `work as a whole' might depend on many
64 things, but they key one to me is what the appearance is to a user.
65 If the user knows that they are getting a collection of software
66 rather than a single product, then it's probably an aggregation which
67 works together.  So, you can distribute both your (i) non-GPLd program
68 source and/or binaries and (ii) adns source code or even binaries
69 (provided the adns source is available as per the GPL), eg from your
70 website, provided the user can tell that these are separate works and
71 can tell which parts are which.
72
73 But, if you package your program and adns together so that the user is
74 no longer aware of adns as a separate work, then I think you are
75 distributing a `work as a whole', and the whole work including adns
76 and your software which depends on it must be GPL'd.  This is of
77 course not a problem if your non-GPL licence is GPL-compatible (see
78 the next section): it just means that _when the whole lot is shipped
79 together as one work_ it is covered by the GPL.  People who wish to
80 make proprietary works based on just your code can do so, provided
81 they (or you) arrange for something to fill the hole left by the lack
82 of adns.
83
84
85 3. GPL-incompatible free software licences
86 ------------------------------------------
87
88 Regrettably, there are a number of free software licences (and
89 semi-free licences) in existence which are not compatible with the
90 GPL.  That is, they impose restrictions which are not present in the
91 GPL, and therefore distributing a whole work which contains such a
92 program and a GPL'd program is not possible: either the work would
93 have to be distributed under the GPL (violating the restrictions made
94 by the original author), or under the GPL-incompatible licence
95 (violating the GPL).
96
97 I may be prepared to make exceptions for such a licence.  Please
98 contact me at <adns-maint@chiark.greenend.org.uk> with the full text
99 of the GPL-incompatible licence.  However, I would prefer it if you
100 could use a GPL-compatible licence for your project instead.
101
102 There are a couple of common extra restrictions, and I make some
103 specific extensions to my licence for adns below.
104
105
106 3.1. BSD advertising clause, endorsement restriction, etc.
107
108 The most notable and common extra restriction found in free software
109 licences is the `obnoxious BSD advertising clause' (see Richard
110 Stallman's article on the subject, available from www.gnu.org) and the
111 endorsement restriction.
112
113 The problem with the advertising clause isn't that the sentence
114 required, referring the the Regents of the UC Berkeley, is awkward.
115 The problem is that if everyone contributing to a large project gets
116 such a mention the number of sentences required becomes very large;
117 however, it is unfair for some people to get credit and others not to.
118
119 I disapprove of these clause, but I recognise that it may be difficult
120 for some people to get them removed from particular programs.  The
121 other clauses are also arguable.
122
123 So, I hereby make an extension to my licence for adns (`the
124 GPL'd Work' in the text below).
125
126  The GNU GPL version 2, section 2b, and the later parts of section 2,
127  require that certain works be licenced to all third parties under the
128  terms of the GPL.
129
130  As special relaxations of this requirement, described in detail
131  below, the terms of this onward licence to third parties need not be
132  (though they may be) exactly the terms of the GPLv2.
133
134  These relaxations can apply when there is a work otherwise licenced
135  under the GPLv2, as identified by authors of the work (the `Original
136  Work').  They can also apply when there is a derived works of that
137  work also licenced under the GPLv2, provided that the additional
138  copyright holders also agree.  Such an Original Work or derivative
139  work is called `the GPL'd work'.
140
141  The relaxations only apply when the GPL'd Work is combined with
142  another work (the Other Work) to make a `work as a whole' (the Whole
143  Work), so that usually the Whole Work would need to be GPL'd, but
144  where the Other Work's licence has provisions incompatible with the
145  GPLv2, so that without the relaxation you would not be able to
146  distribute the Whole Work at all (the `Extra Provisions').
147
148  The relaxations only apply if all parts of the Whole Work which are
149  the GPL'd Work or derived from the GPL'd Work can be easily separated
150  out again from the Whole Work's source code, to form once more the
151  GPL'd Work.  The resulting re-separated GPL'd Work must be similar or
152  superior in completeness, functionality, etc. to the unmodified
153  Original Work as distributed by the person who originally grants
154  these licence extensions, and the re-separated GPL'd Work must be
155  licenced to all third parties under terms identical to the GPL
156  version 2 (either with or without these extensions, at their option).
157
158  The relaxations only apply if in copyright licences which would
159  appear to the reader to cover the Whole Work contain the following
160  statement or an equivalent:
161    Different parts of this software may be covered by different
162    copying conditions.  See individual source code files or copyright
163    statements for details.
164
165  Each relaxation below will state the kind of Extra Provisions in the
166  Other Work's licence which may also be applied to the Whole Work, and
167  what other conditions besides those above must be satisfied for the
168  relaxation to apply.
169
170  Relaxation I `Obnoxious advertising clause':
171
172   The Extra Provisions are those of the form:
173
174      All advertising materials mentioning features or use of this software
175      must display the following acknowledgement:
176          This product includes software developed by DEVELOPERS.
177
178   and re-wordings with similar effect, where DEVELOPERS is a person or
179   group associated with the development of the Other Work.
180
181   For the relaxation to apply, all advertising materials mentioning
182   features or use of the Whole Work must display a similar
183   acknowledgement for every natural person who contributed to the
184   Whole Work, even those whose names do not appear in the Extra
185   Provisions.  No acknowledgement is required for people who have
186   explictly stated that they do not wish such acknowledgements to be
187   displayed, or for people whose identity or proper form of
188   acknowledgement it is not reasonably possible to determine by
189   inspection of notices, acknowledgements, etc., in the source code
190   and attached licences and copyright notices in the Whole Work.
191
192  Relaxation II `Endorsement restriction':
193
194   The Extra Provisions are ones which restrict the use of the
195   authors', copyright holders' and/or contributors' names for
196   endorsement or promotion of products.
197
198   For the relaxation to apply the endorsement restriction(s) must
199   benefit all of the natural persons and organisations with an
200   interest in the Whole Work, unless those people wish otherwise.
201
202  Relaxation III `Liability limitation':
203
204   The Extra Provisions are ones which claim to exclude or limit in any
205   way the liability, for malfunctions, failures etc. of the Whole Work
206   or parts thereof, of any contributors, distributors, copyright
207   holders, authors, etc. of the software.  Provisions which seek to
208   deny warranties, even implied warranties, or which otherwise seek to
209   limit similar exposure(s) to risk(s), count.
210
211   For the relaxation to apply the extra protections of these licence
212   provisions must be extended to all of the authors and distributors
213   of the Whole Work.
214
215  Relaxation IV `Pointless restatements':
216
217   The extra licence provisions are ones which require distributions of
218   the Whole Work to contain notices in source and/or binary
219   distributions, and/or in the documentation and/or other materials
220   provided with the distributions.
221
222   For the relaxation to apply the required notices must be simple
223   truths, or restatements of licence provisions which actually apply
224   to the Whole Work.
225
226   (The author of these GPL extensions believes that `pointless
227   restatement requirements' are compatible with the GPLv2, since they
228   seem to fall under the heading of an `appropriate copyright notice
229   and disclaimer of warranty', which is already required by the
230   GPLv2.  However, this relaxation is provided in case of doubt.)
231
232 --- Ian Jackson 10.5.1999
233
234 Local variables:
235 mode: text
236 End: