views:

33

answers:

1

I develop a couple of open source projects licensed under MPL1.1. All projects depend on a lot of other open source tools. I avoid any GPL licensed libraries for the viral nature of GPL. The licenses of the libraries my tools depend on are Apache2, LGPL2, LGPL3, CPL, BSD, JSON, MIT and some personal agreements. My applications are licensed under MPL1.1 but now I want to publish some libraries.

Which license is

  • compatible with all of the above ?
  • comfortable for the user ?

My suspicion is that MPL1.1 is not that good as a library license. I'd like the libraries to be used.

+1  A: 

compatible with all of the above

I am no lawyer so I won't touch that, but I like the summaries at http://www.codeproject.com/info/Licenses.aspx. Links included.

comfortable for the user

This depends on the user. Comfortable to me would be to license my software as appropriate. Personally, I like MIT/BSD, WTFPL, Ms-PL, and CPOL licenses (in about that order). CPOL is a bit wordy though and contains a 'moral' clause and 'no selling original work' clause, but the others are less restrictive.

There is a difference if you expect the user to modify/fix the library at all. If that is the case I believe the MPL has a must-release clause. If the user is never expected to modify/extend the library then even a GPL+"Classpath Exception" may be appropriate. I have seen some projects with GPL+"Classpath Exception" state that it is okay to bundle the library (e.g. ILMerge or otherwise repack in a JAR).

pst