71ede3cd |
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 | |
b71aca5a |
105 | |
106 | 3.1. BSD advertising clause, endorsement restriction, etc. |
71ede3cd |
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 |
b71aca5a |
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 |
71ede3cd |
233 | |
234 | Local variables: |
235 | mode: text |
236 | End: |