woah, complication
[adns] / GPL-vs-LGPL
CommitLineData
4fea7b3b 1NB that NO VERSIONS of this file from this branch have been released,
2and I do not intend yet to publish this version. If you get an old
3version of this file from my CVS repository definitely do not intend
4the licence exceptions in it to apply - these too were drafts, as you
5should know if you know what retreiving old CVS versions means !
c325ceb6 6
4fea7b3b 7 - Ian Jackson, 9th March 2004.
c325ceb6 8
9DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT
10
71ede3cd 11 GPL vs LGPL, in the context of adns
12 -----------------------------------
13
14Several people have asked me to release adns under the GNU Lesser
15General Public Licence (LGPL, formerly the Library GPL) instead of the
16`stronger' GPL. This file is intended to answer most of these
17questions. If you still have questions or comments, please mail me at
18<adns-maint@chiark.greenend.org.uk>.
19
20Typically there are two or three kinds of situation where people make
21this request: the first is where someone is developing a proprietary
22program and wishes to make use of adns but doesn't wish to make their
23program free software. The second case is where a free software
4fea7b3b 24project is currently using an MIT-like licence and fear `GPL
25infection'. The third case, which often overlaps with the second, is
26where another free software project currently using a GPL-incompatible
27licence, wishes to use adns.
71ede3cd 28
29
301. Proprietary applications of adns
31-----------------------------------
32
4fea7b3b 33This section applies if you are developing a proprietary program, by
34which I mean that you will not be distributing source code and not
35allowing users to modify and share your software; in most cases you
36will be doing this for (personal or corporate) financial gain.
71ede3cd 37
4fea7b3b 38In these cases I may be prepared to issue you a special `LGPL' for
39adns (ie, allow you to use adns in your application according to the
40terms of the LGPL). I will of course expect a significant licensing
41fee.
71ede3cd 42
4fea7b3b 43If you are interested I would be happy to negotiate with you. Please
44contact me with your serious initial offer, or if alternatively we can
45first discuss your detailed requirements.
71ede3cd 46
4fea7b3b 47The fee for proprietary applications of adns without prior approval is
48US$1,000,000 per annum (or part thereof), per proprietary product, per
49100,000 installed systems (or part thereof), plus any administration,
50collection and legal fees required to recover the licence fee. Of
51course, this does not apply to commercial Free software applications
52whose use of adns is compatible with the GNU GPL v2.
71ede3cd 53
54
552. GPL-avoiding projects (MIT licence, et al)
56---------------------------------------------
57
58Some free software projects prefer to avoid the GPL and other licences
59which force the software always to be free. Instead they use
60something like the MIT X licence, which allows proprietary versions of
4fea7b3b 61their software. I have to say that I don't understand why they do
62this, and think they are misguided, but that doesn't mean that they
63don't have a perfect right to.
71ede3cd 64
65Some of these people think that merely writing to an interface
66provided by GPL'd software will cause their program to become GPL'd
67too, even if they don't distribute the GPL'd software. I don't think
68this is the case. I'm perfectly happy for non-GPL'd software to refer
4fea7b3b 69to adns in its source code or executables (eg, dynamic linking).
70However, if you distribute adns yourself then whether a program which
71uses it needs also to be GPL'd depends on the interpretation of the
72`work as a whole' and `mere aggregation' parts of the GPL.
73
74Whether you are distributing a `work as a whole' might depend on many
75things, but they key one to me is what the appearance is to a user.
76If the user knows that they are getting a collection of software
77rather than a single product, then it's probably an aggregation which
78works together. So, you can distribute both your (i) non-GPLd program
79source and/or binaries and (ii) adns source code or even binaries
80(provided the adns source is available as per the GPL), eg from your
81website, provided the user can tell that these are separate works and
82can tell which parts are which.
83
84But, if you package your program and adns together so that the user is
85no longer aware of adns as a separate work, then I think you are
86distributing a `work as a whole', and the whole work including adns
87and your software which depends on it must be GPL'd. This is of
88course not a problem if your non-GPL licence is GPL-compatible (see
89the next section): it just means that _when the whole lot is shipped
90together as one work_ it is covered by the GPL. People who wish to
91make proprietary works based on just your code can do so, provided
92they (or you) arrange for something to fill the hole left by the lack
93of adns.
71ede3cd 94
95
963. GPL-incompatible free software licences
97------------------------------------------
98
99Regrettably, there are a number of free software licences (and
100semi-free licences) in existence which are not compatible with the
101GPL. That is, they impose restrictions which are not present in the
102GPL, and therefore distributing a whole work which contains such a
103program and a GPL'd program is not possible: either the work would
104have to be distributed under the GPL (violating the restrictions made
105by the original author), or under the GPL-incompatible licence
106(violating the GPL).
107
108I may be prepared to make exceptions for such a licence. Please
109contact me at <adns-maint@chiark.greenend.org.uk> with the full text
110of the GPL-incompatible licence. However, I would prefer it if you
111could use a GPL-compatible licence for your project instead.
112
4fea7b3b 113There are a couple of common extra restrictions, and I make some
114specific extensions to my licence for adns below.
249cf48a 115
4fea7b3b 116
1173.1. BSD advertising clause, endorsement restriction, etc.
118
119The most notable and common extra restriction found in free software
120licences is the `obnoxious BSD advertising clause' (see Richard
121Stallman's article on the subject, available from www.gnu.org) and the
122endorsement restriction.
123
124The problem with the advertising clause isn't that the sentence
125required, referring the the Regents of the UC Berkeley, is awkward.
126The problem is that if everyone contributing to a large project gets
127such a mention the number of sentences required becomes very large;
128however, it is unfair for some people to get credit and others not to.
129
130I disapprove of these clause, but I recognise that it may be difficult
131for some people to get them removed from particular programs. The
132other clauses are also arguable.
133
134
1353.2. `Hosting service' restriction (eg, Affero GPL)
136
137The additional restriction in the AGPL v1 (section 2d) seems
138reasonable to me, in the circumstances.
139
140
1413.3. Licence extension
142
143So, I hereby make an extension to my licence for adns (`the Original
144Work' in the text below).
145
146
147 LICENCE DEROGATION
148 ------------------
149
150 (A) Introduction:
151
152 (i) The GNU GPL version 2, section 2b, and the later parts of
153 section 2, require that certain works be licenced to all
154 third parties under the terms of the GPL.
155
156 (ii) As special relaxations of this requirement, described in
157 detail below, the terms of this onward licence to third
158 parties need not be (though they may be) exactly the terms of
159 the GPLv2.
160
161 (B) Preconditions:
162
163 (i) There is a work (the `Original Work') which is licensed under
164 the GNU GPL v2.
165
166 (ii) There is a work (the `GPL'd Work'), either the same work as
167 the Original Work, or derived work of the Original Work,
168 which is licensed uner the GNU GPL v2.
169
170 (iii) All of the copyright holders of the GPL'd Work state that
171 this Licence Derogation is to apply, and what the Original
172 Work is. (They may limit the Derogation to only some of the
173 Allowable Extra Provisions.)
174
175 (iv) The GPL'd Work is combined with another work (the Other
176 Work) to make a `work as a whole', the Combined Work.
177
178 (x) The Other Work is licenced free of charge to third parties;
179 under the terms of a licence henceforth known as the Other
180 Licence.
181
182 (xi) The Other Licence is Free.
183
184 (v) It would be an infringement of the copyright in the Other
185 Work for you to distribute the Combined Work under the terms
186 of the GNU GPL v2.
187
188 (vi) There is a Resulting Licence which is the GNU GPL v2 amended
189 by the addition of Extra Provisions and the relevant
190 conditions from this Licence Derogation, where
191
192 (viii) the Extra Provisions are some or all of the Allowable Extra
193 Provisions (see below), and
194
195 (x) the Extra Provisions are provisions of the Other Licence.
196
197
198 (C) Permission:
199
200 (i) Provided that the the conditions in this Licence Derogation
201 are met, you may distribute the Combined Work under the terms
202 of the Resulting Licence.
203
204 (ii) When the Combined Work is distributed under the terms of the
205 Resulting Licence, references to `this licence' in the text
206 of the GPL v2 may be read as references to the Resulting
207 Licence, or as references to the GPL v2, at your option.
208
209 (D) Further Conditions:
210
211 (i) All parts of the Combined Work which are (identical to, parts
212 of, or derived from) the GPL'd Work can be easily separated
213 out from the Whole Work's source code to form once more a
214 Re-separated Work.
215
216 (ii) The Re-separated Work is a version of the Original Work which
217 is similar or superior in all respects (including
218 completeness, functionality, quality etc.) to the Original
219 Work.
220
221 (iii) The Re-separated Work is licensed to third parties under
222 terms identical to those under which the GPL'd Work is
223 licenced to those same third parties.
224
225 (iv) Copyright licences and notices which would appear to the
226 reader to cover the Combined Work contain the following
227 statement or an equivalent:
228 Different parts of this software may be covered by
229 different copying conditions. See individual source code
230 files or copyright statements for details.
231
232
233 (E) The Allowable Extra Provision Kinds:
234
235 (i) In each of the following Kinds (`(1)' onwards), the nature of
236 the Extra Provisions which are made Allowable, and the
237 further conditions which must be satisfied (and which
238 therefore form part of the Resulting Licence) are stated.
239
240 (ii) All of the paragraphs (`(i)' onwards) stated in each Kind
241 must be satisfied, for Extra Provisions to be Allowable.
242
243 (1) `Obnoxious advertising clause':
244
245 (i) The Extra Provisions are those of the form:
246 All advertising materials mentioning features or use of
247 this software must display the following acknowledgement:
248 This product includes software developed by DEVELOPERS.
249 and re-wordings with similar effect, where DEVELOPERS is a
250 person or group associated with the development of the Other
251 Work.
252
253 (ii) All advertising materials mentioning features or use of the
254 Combined Work must display a similar acknowledgement for
255 every Identifiable Author.
256
257 (iii) All distributions of the Combined Work must contain a list of
258 the Identifiable Authors.
259
260 (2) `Endorsement restriction':
261
262 (i) The Extra Provisions are ones which restrict the use of the
263 authors', copyright holders' and/or contributors' names for
264 endorsement or promotion of products.
265
266 (ii) The endorsement restriction(s) must benefit all of the
267 natural persons and organisations with an interest in the
268 Whole Work, unless those people wish otherwise.
269
270 (3) `Liability limitation':
271
272 (i) The Extra Provisions are ones which claim to exclude or limit
273 in any way the liability, for malfunctions, failures etc. of
274 the Whole Work or parts thereof, of any contributors,
275 distributors, copyright holders, authors, etc. of the
276 software. Provisions which seek to deny warranties, even
277 implied warranties, or which otherwise seek to limit similar
278 exposure(s) to risk(s), count.
279
280 (ii) The protections of the Extra Provisions must be extended to
281 all of the authors and distributors of the Whole Work, unless
282 those people wish otherwise.
283
284
285 (4) `Pointless restatements':
286
287 (i) The Extra Provisions are ones which require distributions of
288 the Whole Work to contain notices in source and/or binary
289 distributions, and/or in the documentation and/or other
290 materials provided with the distributions.
291
292 (ii) The required notices must be simple truths, or restatements
293 of licence provisions which actually apply to the Combined
294 Work.
295
296 (iii) (The author of this Licence Derogation believes that
297 `pointless restatement requirements' are compatible with the
298 GPLv2, since they seem to fall under the heading of an
299 `appropriate copyright notice and disclaimer of warranty',
300 which is already required by the GPLv2. However, this
301 relaxation is provided in case of doubt.)
302
303
304 (5) `Service provision - source code to users' (eg AGPL):
305
306 (i) The Extra Provisions apply only
307 (a) when the Other Work or Combined Work is intended to
308 interact with people (`Users') through a computer network,
309 or
310 (b) when the Other Work or Combined Work is executed on behalf
311 of a third party (the `User'),
312 (or when both (a) and (b) apply).
313
314 (ii) There exists a Sensible Publication Mechanism such that the
315 Extra Provisions are satisfied when:
316 (a) the Combined Work is made available free of charge to the
317 public, by that Sensible Publication Mechanism, and
318 (b) the existence and details of the Sensible Publication
319 Mechanism are made known in appropriate ways to each
320 User.
321
322 (iii) A Sensible Publication Mechanism is a reasonable and
323 convenient means for allowing members of the public
324 (`Downloaders') to obtain the source code in machine-readable
325 form.
326
327 (iv) A Sensible Publication Mechanism is not more onerous to
328 provide than a public-facing World Wide Web server.
329
330
331 (F) Additional definitions:
332
333 (i) A Free software licence is one which is approved both
334 (a) as a Free Software licence by the Free Software
335 Foundation, and
336 (b) as an Open Source Licence by the Open Source Initiative.
337
338 (ii) A Combining Participant includes any person:
339 (a) who makes a modification to the Other Work, which is
340 now included in the Combined Work, with a view to the
341 creation of any work which might be a Combined Work
342 according to this Licence Derogation; or
343 (b) who obtains the Other Work and GPL'd work separately and
344 distributes the Combined Work.
345
346 (iii) An Identifiable Author is
347 (a) a natural person
348 (b) who contributed to the Combined Work (including without
349 limitation as a work for hire)
350 (c) whose identity or proper form of acknowledgement it
351 reasonably practical to determine by inspection of the
352 Authorship Documentation,
353 (d) and who has not stated publicly that they do not wish such
354 acknowledgements to be displayed.
355
356 (iv) The Authorship Documentation includes all copyright notices,
357 authorship notices, credits files, change logs,
358 acknowledgements, and similar documentation, in the source
359 code for the Original Work, the GPL'd Work, the Other Work
360 and the Combined Work.
361
362 (v) The Authorship Documentation also includes any communications
363 received by a Combining Participant regarding authorship of
364 any part of the Combined Work.
365
366
367
368
369
370 (iv) A Sensible Publication Mechanism does not require any
371 Downloader to provide any identification or authorisation
372 other than that inherently required by the underlying
373 technical mechanisms.
374
375 (v) A Sensible Publication Mechanism is free of charge.
376
377 (vi) A Sensible Publication Mechanism does not make any efforts to
378 trace, track, cross-reference, or otherwise gain information
379 about Downloaders, other than the minimum data required for
380 direct technical fault-finding; any data collected shall be
381 used only for direct technical fault-finding.
382
383 (vii) Where a Sensible Publication Mechanism involves
384 implementation of a technical communications protocol, the
385 Mechanism must permit the use by Downloaders of the widest
386 feasible range of standards-compliant software.
387
388 (vii) For example, for download via the public World Wide Web to
389 satisfy this paragraph, the HTTP server must permit downloads
390 from any IP address, and it may not have any access controls,
391 cookies, reverse DNS requirements, registration forms, adult
392 checks, authorisation codes, email confirmations, URL
393 session-ids, browser restrictions, JavaScript, Java, Flash,
394 and must use the most conservative possible HTML, and the
395 webserver logs must contain the least possible information
396 and be expired quickly.
397
398DRAFT
399
400, or to pay anyone any
401 money.
402
403
404
405which there is a
406 Sensible Mechanism can be
407
408(to the Other Work publicly and freely available.
409
410 (a) (from `AGPL version 1')
411 If the Program as you received it is intended to
412 interact with users through a computer network and if,
413 in the version you received, any user interacting with
414 the Program was given the opportunity to request
415 transmission to that user of the Program's complete
416 source code, you must not remove that facility from
417 your modified version of the Program or work based on
418 the Program, and must offer an equivalent opportunity
419 for all users interacting with your Program through a
420 computer network to request immediate transmission by
421 HTTP of the complete source code of your modified
422 version or other derivative work.
423
424
425DRAFT --- Ian Jackson 10.5.1999
71ede3cd 426
427Local variables:
428mode: text
429End: