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 |
249cf48a |
14 | project is currently using an MIT-like licence or the LGPL and fear |
15 | `GPL infection'. The third case, which often overlaps with the |
16 | second, is where another free software project currently using a |
17 | GPL-incompatible licence, wishes to use adns. |
71ede3cd |
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 |
249cf48a |
50 | their software, or the in the case of some free libraries, the LGPL, |
51 | which allows proprietary applications. I have to say that I think |
52 | these people are misguided, but that doesn't mean that they don't have |
53 | a perfect right to. |
71ede3cd |
54 | |
55 | Some of these people think that merely writing to an interface |
56 | provided by GPL'd software will cause their program to become GPL'd |
57 | too, even if they don't distribute the GPL'd software. I don't think |
58 | this is the case. I'm perfectly happy for non-GPL'd software to refer |
249cf48a |
59 | to adns in its source code. However, I think that exectuables (or |
60 | compiled libraries) which contain or are dynamically linked against |
61 | adns must be GPL'd; likewise executable programs (whether compiled or |
62 | in an interpreted language) which require utilities from adns to |
63 | function properly must be GPL'd. |
64 | |
65 | So, you can distribute your non-GPL'd program source which needs adns |
66 | to compile, but people who wish to distribute binaries must do so |
67 | under the terms of the GNU GPL. This may make sense for some |
68 | GPL-avoiding free software projects; people can still make proprietary |
69 | programs from your code, provided that they make some provision to |
70 | replace adns with something whose copyright allows proprietary |
71 | versions. |
72 | |
73 | However, this doesn't make much sense for the authors of LGPL'd |
74 | libraries. All I can say to them is to ask which is more important: |
75 | that their library be well-constructed and use all the best technology |
76 | available as free software, or whether it is worth degrading quality |
77 | of their library in order to allow proprietary programs to use it ! |
78 | |
79 | To help the case of LGPL'd libraries for which adns is not a vital |
80 | component - for example, a library which provides access to other |
81 | libraries so that programs which use it need only use certain parts, |
82 | I have release adns.h (just the public header file) under the LGPL as |
83 | well as the GPL. See the copyright notice in adns.h for details. |
84 | Note that this will not help you if it adns is essential to the |
85 | functioning of your library, because all programs using your library |
86 | must link against both your library and adns and so must be GPL'd. |
87 | |
88 | |
89 | For some information and views from the Free Software Foundation on |
90 | free software licensing, visit: |
91 | |
92 | Various licenses and comments about them |
93 | at http://www.fsf.org/philosophy/license-list.html |
94 | |
95 | Why you shouldn't use the Library GPL for your next library |
96 | at http://www.fsf.org/philosophy/why-not-lgpl.html |
71ede3cd |
97 | |
98 | |
99 | 3. GPL-incompatible free software licences |
100 | ------------------------------------------ |
101 | |
102 | Regrettably, there are a number of free software licences (and |
103 | semi-free licences) in existence which are not compatible with the |
104 | GPL. That is, they impose restrictions which are not present in the |
105 | GPL, and therefore distributing a whole work which contains such a |
106 | program and a GPL'd program is not possible: either the work would |
107 | have to be distributed under the GPL (violating the restrictions made |
108 | by the original author), or under the GPL-incompatible licence |
109 | (violating the GPL). |
110 | |
111 | I may be prepared to make exceptions for such a licence. Please |
112 | contact me at <adns-maint@chiark.greenend.org.uk> with the full text |
113 | of the GPL-incompatible licence. However, I would prefer it if you |
114 | could use a GPL-compatible licence for your project instead. |
115 | |
249cf48a |
116 | --- Ian Jackson ... |
117 | |
71ede3cd |
118 | |
119 | Local variables: |
120 | mode: text |
121 | End: |