4fea7b3b |
1 | NB that NO VERSIONS of this file from this branch have been released, |
2 | and I do not intend yet to publish this version. If you get an old |
3 | version of this file from my CVS repository definitely do not intend |
4 | the licence exceptions in it to apply - these too were drafts, as you |
5 | should know if you know what retreiving old CVS versions means ! |
c325ceb6 |
6 | |
4fea7b3b |
7 | - Ian Jackson, 9th March 2004. |
c325ceb6 |
8 | |
9 | DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT |
10 | |
71ede3cd |
11 | GPL vs LGPL, in the context of adns |
12 | ----------------------------------- |
13 | |
14 | Several people have asked me to release adns under the GNU Lesser |
15 | General Public Licence (LGPL, formerly the Library GPL) instead of the |
16 | `stronger' GPL. This file is intended to answer most of these |
17 | questions. If you still have questions or comments, please mail me at |
18 | <adns-maint@chiark.greenend.org.uk>. |
19 | |
20 | Typically there are two or three kinds of situation where people make |
21 | this request: the first is where someone is developing a proprietary |
22 | program and wishes to make use of adns but doesn't wish to make their |
23 | program free software. The second case is where a free software |
4fea7b3b |
24 | project is currently using an MIT-like licence and fear `GPL |
25 | infection'. The third case, which often overlaps with the second, is |
26 | where another free software project currently using a GPL-incompatible |
27 | licence, wishes to use adns. |
71ede3cd |
28 | |
29 | |
30 | 1. Proprietary applications of adns |
31 | ----------------------------------- |
32 | |
4fea7b3b |
33 | This section applies if you are developing a proprietary program, by |
34 | which I mean that you will not be distributing source code and not |
35 | allowing users to modify and share your software; in most cases you |
36 | will be doing this for (personal or corporate) financial gain. |
71ede3cd |
37 | |
4fea7b3b |
38 | In these cases I may be prepared to issue you a special `LGPL' for |
39 | adns (ie, allow you to use adns in your application according to the |
40 | terms of the LGPL). I will of course expect a significant licensing |
41 | fee. |
71ede3cd |
42 | |
4fea7b3b |
43 | If you are interested I would be happy to negotiate with you. Please |
44 | contact me with your serious initial offer, or if alternatively we can |
45 | first discuss your detailed requirements. |
71ede3cd |
46 | |
4fea7b3b |
47 | The fee for proprietary applications of adns without prior approval is |
48 | US$1,000,000 per annum (or part thereof), per proprietary product, per |
49 | 100,000 installed systems (or part thereof), plus any administration, |
50 | collection and legal fees required to recover the licence fee. Of |
51 | course, this does not apply to commercial Free software applications |
52 | whose use of adns is compatible with the GNU GPL v2. |
71ede3cd |
53 | |
54 | |
55 | 2. GPL-avoiding projects (MIT licence, et al) |
56 | --------------------------------------------- |
57 | |
58 | Some free software projects prefer to avoid the GPL and other licences |
59 | which force the software always to be free. Instead they use |
60 | something like the MIT X licence, which allows proprietary versions of |
4fea7b3b |
61 | their software. I have to say that I don't understand why they do |
62 | this, and think they are misguided, but that doesn't mean that they |
63 | don't have a perfect right to. |
71ede3cd |
64 | |
65 | Some of these people think that merely writing to an interface |
66 | provided by GPL'd software will cause their program to become GPL'd |
67 | too, even if they don't distribute the GPL'd software. I don't think |
68 | this is the case. I'm perfectly happy for non-GPL'd software to refer |
4fea7b3b |
69 | to adns in its source code or executables (eg, dynamic linking). |
70 | However, if you distribute adns yourself then whether a program which |
71 | uses 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 | |
74 | Whether you are distributing a `work as a whole' might depend on many |
75 | things, but they key one to me is what the appearance is to a user. |
76 | If the user knows that they are getting a collection of software |
77 | rather than a single product, then it's probably an aggregation which |
78 | works together. So, you can distribute both your (i) non-GPLd program |
79 | source 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 |
81 | website, provided the user can tell that these are separate works and |
82 | can tell which parts are which. |
83 | |
84 | But, if you package your program and adns together so that the user is |
85 | no longer aware of adns as a separate work, then I think you are |
86 | distributing a `work as a whole', and the whole work including adns |
87 | and your software which depends on it must be GPL'd. This is of |
88 | course not a problem if your non-GPL licence is GPL-compatible (see |
89 | the next section): it just means that _when the whole lot is shipped |
90 | together as one work_ it is covered by the GPL. People who wish to |
91 | make proprietary works based on just your code can do so, provided |
92 | they (or you) arrange for something to fill the hole left by the lack |
93 | of adns. |
71ede3cd |
94 | |
95 | |
96 | 3. GPL-incompatible free software licences |
97 | ------------------------------------------ |
98 | |
99 | Regrettably, there are a number of free software licences (and |
100 | semi-free licences) in existence which are not compatible with the |
101 | GPL. That is, they impose restrictions which are not present in the |
102 | GPL, and therefore distributing a whole work which contains such a |
103 | program and a GPL'd program is not possible: either the work would |
104 | have to be distributed under the GPL (violating the restrictions made |
105 | by the original author), or under the GPL-incompatible licence |
106 | (violating the GPL). |
107 | |
108 | I may be prepared to make exceptions for such a licence. Please |
109 | contact me at <adns-maint@chiark.greenend.org.uk> with the full text |
110 | of the GPL-incompatible licence. However, I would prefer it if you |
111 | could use a GPL-compatible licence for your project instead. |
112 | |
4fea7b3b |
113 | There are a couple of common extra restrictions, and I make some |
114 | specific extensions to my licence for adns below. |
249cf48a |
115 | |
4fea7b3b |
116 | |
117 | 3.1. BSD advertising clause, endorsement restriction, etc. |
118 | |
119 | The most notable and common extra restriction found in free software |
120 | licences is the `obnoxious BSD advertising clause' (see Richard |
121 | Stallman's article on the subject, available from www.gnu.org) and the |
122 | endorsement restriction. |
123 | |
124 | The problem with the advertising clause isn't that the sentence |
125 | required, referring the the Regents of the UC Berkeley, is awkward. |
126 | The problem is that if everyone contributing to a large project gets |
127 | such a mention the number of sentences required becomes very large; |
128 | however, it is unfair for some people to get credit and others not to. |
129 | |
130 | I disapprove of these clause, but I recognise that it may be difficult |
131 | for some people to get them removed from particular programs. The |
132 | other clauses are also arguable. |
133 | |
134 | |
135 | 3.2. `Hosting service' restriction (eg, Affero GPL) |
136 | |
137 | The additional restriction in the AGPL v1 (section 2d) seems |
138 | reasonable to me, in the circumstances. |
139 | |
140 | |
141 | 3.3. Licence extension |
142 | |
143 | So, I hereby make an extension to my licence for adns (`the Original |
144 | Work' 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 | |
398 | DRAFT |
399 | |
400 | , or to pay anyone any |
401 | money. |
402 | |
403 | |
404 | |
405 | which 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 | |
425 | DRAFT --- Ian Jackson 10.5.1999 |
71ede3cd |
426 | |
427 | Local variables: |
428 | mode: text |
429 | End: |