tags:

views:

66

answers:

3

I'm writing a piece of open-source software which will be easily embeddable (both static/dynamic libraries and executables on top of them). Which software licence would:

  1. allow the user to use either the source code by embedding it, or link against it dynamically or statically in his own programs under any licence, including closed and open-source?
  2. ensure that any modifications made to the files created by me be released under the same licence?
  3. I am given credit in his software, no matter how he uses my code?
  4. He doesn't misuse the name of my software in his program?

Thanks

A: 

You may wish to look at this comparison chart:

A little smaller but simpler:

(I am not a lawyer...)

What you want is something likely compatible with the GNU/GPL license. In particular, the Artistic 2.0 license looks like a good candidate as it looks as if it meets the authorship requirements.

altCognito
A: 

License compatibility will be the most important criteria. You may dislike every clause of the a commercial license (for which there is no standard) or the GPL or what have you, but because they are both extremely common, you will want to pick a license that is compatible with them. The CDDL is a beautiful license that is not as compatible as it could be with common licenses.

In the GPL world, LGPL is more compatible than GPL with other code. In the commercial world, the various "Don't sue me if it goes wrong" licenses are the most compatible, e.g. MIT, etc.

Mutliple licenses are best of all, albeit somewhat confusing. If someone is writing a commercial code base, sometimes for legal or company policy reasons, they can't use your code without getting a commercial license from you. MySQL is an example of code base offered under 2 licenses.

Someone should replace the "I'm not a lawyer" boilerplate with "I'm not a lawyer and lawyers are jerks".

MatthewMartin
+1  A: 

Wikipedia has an excellent comparison article which goes over a variety of software licenses, and you should review it carefully, as well as the actual license texts once you have it narrowed down to a few licenses.

The LGPL will fufil clauses 1, 2, and 3 of your request. Clause 4 isn't something that should ideally be covered by a license, but rather by a trademark with an accompanying trademark policy. (registered or un-) See for example Mozilla's Trademark Policy.

Of course, IANAL, IANYL, YMMV, and OIMACTTA.

lfaraone