| 1 | GPL vs LGPL, in the context of adns |
| 2 | ----------------------------------- |
| 3 | |
| 4 | Several people have asked me to release GNU 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 another free software project |
| 12 | currently using a GPL-incompatible licence, wishes to use adns. The |
| 13 | second case, which often overlaps with the first, is where a free |
| 14 | software project is currently using an MIT-like licence or the LGPL |
| 15 | and fear `GPL infection'. The third case is where someone is |
| 16 | developing a proprietary program and wishes to make use of adns but |
| 17 | doesn't wish to make their program free software |
| 18 | |
| 19 | |
| 20 | 1. GPL-incompatible free software licences |
| 21 | ------------------------------------------ |
| 22 | |
| 23 | Regrettably, there are a number of free software licences (and |
| 24 | semi-free licences) in existence which are not compatible with the |
| 25 | GPL. That is, they impose restrictions which are not present in the |
| 26 | GPL, and therefore distributing a whole work which contains both such |
| 27 | a program and a GPL'd program is not possible: either the combination |
| 28 | would have to be distributed under the GPL (violating the restrictions |
| 29 | made by the original author), or under the GPL-incompatible licence |
| 30 | (violating the GPL). |
| 31 | |
| 32 | I may be prepared to make exceptions for such a licence. Please |
| 33 | contact me at <adns-maint@chiark.greenend.org.uk> with the full text |
| 34 | of the GPL-incompatible licence. However, I would usually prefer it |
| 35 | if you could use a GPL-compatible licence for your project instead. |
| 36 | |
| 37 | |
| 38 | 2. GPL-avoiding projects (MIT licence, et al) |
| 39 | --------------------------------------------- |
| 40 | |
| 41 | Some free software projects prefer to avoid the GPL and other licences |
| 42 | which force the software always to be free. Instead they use |
| 43 | something like the MIT X licence, which allows proprietary versions of |
| 44 | their software, or the in the case of some free libraries, the LGPL, |
| 45 | which allows proprietary applications. I have to say that I think |
| 46 | these people are misguided, but that doesn't mean that they don't have |
| 47 | a perfect right to do that. |
| 48 | |
| 49 | Some of these people think that merely writing to an interface |
| 50 | provided by GPL'd software will cause their program to become GPL'd |
| 51 | too, even if they don't distribute the GPL'd software. I don't think |
| 52 | this is the case. I'm perfectly happy for non-GPL'd but |
| 53 | GPL-compatible software to refer to adns in its source code. However, |
| 54 | I think that exectuables (or compiled libraries) which contain or are |
| 55 | dynamically linked against adns must be GPL'd; likewise executable |
| 56 | programs (whether compiled or in an interpreted language) which |
| 57 | require utilities from adns to function properly must be GPL'd. |
| 58 | |
| 59 | So, you can distribute your non-GPL'd program source which needs adns |
| 60 | to compile (provided it's under a GPL-compatible licence), but people |
| 61 | who wish to distribute binaries must do so under the terms of the GNU |
| 62 | GPL. This may make sense for some GPL-avoiding free software |
| 63 | projects; people can still make proprietary programs from your code, |
| 64 | provided that they make some provision to replace adns with something |
| 65 | whose copyright allows proprietary versions. |
| 66 | |
| 67 | However, this doesn't make much sense for the authors of LGPL'd |
| 68 | libraries. All I can say to them is to ask which is more important: |
| 69 | that their library be well-constructed and use all the best technology |
| 70 | available as free software, or whether it is worth degrading quality |
| 71 | of their library in order to allow proprietary programs to use it ! |
| 72 | |
| 73 | To help the case of LGPL'd libraries for which adns is not a vital |
| 74 | component - for example, a library which provides access to other |
| 75 | libraries so that programs which use it need only use certain parts, |
| 76 | I have released adns.h (just the public header file) under the LGPL as |
| 77 | well as the GPL. See the copyright notice in adns.h for details. |
| 78 | Note that this will not help you if it adns is essential to the |
| 79 | functioning of your library, because all programs using your library |
| 80 | must link against both your library and adns and so must be GPL'd. |
| 81 | |
| 82 | |
| 83 | For some information and views from the Free Software Foundation on |
| 84 | free software licensing, visit: |
| 85 | |
| 86 | Various licenses and comments about them |
| 87 | at http://www.fsf.org/philosophy/license-list.html |
| 88 | |
| 89 | Why you shouldn't use the Library GPL for your next library |
| 90 | at http://www.fsf.org/philosophy/why-not-lgpl.html |
| 91 | |
| 92 | |
| 93 | Local variables: |
| 94 | mode: text |
| 95 | End: |