based on version 1.4.5.0 of Quick Reference For Choosing a Free Software License by Zooko (updated 2004-08-31)

please see the the full document for notes and the latest version.

Hackers like to accept code under it
Combine with proprietary and redistribute
Combine with GPL'ed code and redistribute
Must share source of redistributed version
Must include patent license with contribution

 License
   |           Hackers like accepting code under it
   |             | Combine with proprietary and redistribute
   |             |   | Combine with GPL'ed code and redistribute
   |             |   |   | Must share source of redistributed version
   |             |   |   |   | Must include patent license with contribution
   |             |   |   |   |   |
   |             |   |   |   |   |
   v             v   v   v   v   v
  ---           --- --- --- --- ---
 permissive      Y   Y   Y   N   N
 GNU LPGPL       Y2  Y1  Y   Y   Y
 GNU GPL         ?2  N   Y   Y   Y
 Mozilla PL 1.1  Y2  Y   N3  Y   Y

 NB: click a license type to open a new window showing the license wording (or typical example).

notes:

  1. The LGPL imposes some conditions on redistributing a combination of LGPL'ed and proprietary code, including some requirement on how the LGPL'ed code and the proprietary code are linked at run-time on the user's machine. It appears to me that these clauses are intended to prevent people from violating the spirit of the LGPL by using an obfuscating linker which prevents the user from swapping in alternative versions of the LGPL'ed code. Read Section 6 of the LGPL for details.
  2. Some members of the community refuse to accept GPL'ed source code into their projects, although other members of the community strongly prefer GPL'ed source code over other licenses. Contrast with code under permissive licenses such as BSD, X11, MIT, and expat, which nobody refuses to accept. Almost nobody refuses to accept LGPL'ed code, except the Apache Foundation so refuses, saying that they think it would impose LGPL requirement upon the proprietary code (when they are linked via the Java class-loading mechanism). The FSF disagrees with this statement, asserting that such linking falls under section 6 of the LGPL. As far as I know, nobody refuses to accept code which is licensed under the Mozilla PL 1.1-plus-GPL-compatibility-clause (see note #3).
  3. MPL 1.1 can be specifically amended to allow combining with GPL, according to the FSF's license list.

Please see Zooko's original chart for an explanation of the columns, discussion of various aspects of free software licenses, and pointers to related resources.

pgl@instinct.org | source | older version | other stuff | an alternative guide