I have a small (big?) question about mixing licenses within a project. We'd like to distribute the project as LGPL or, in its defect, as GPL.
The project consists of a PD external built with the flext library (the only GPL license of the lot).
We want to release a C++ API and, separately, the PD external.
The libraries we're using (for the API) are the following: LibcURL http://curl.haxx.se/ (MIT) TinyXML http://sourceforge.net/projects/tinyxml (ZLIB) LibSnd - http://www.mega-nerd.com/libsndfile/ (LGPL)
As said before, the PD external uses flext (flext - http://grrrr.org/ext/flext/, GPL) and the above-mentioned API.
Can we release the API as LGPL? What licenses would be possible for the external?
Thanks in advance,
:::sam:::
[IANAL, TINLA]
On 04-Jul-2005, Sam wrote:
I have a small (big?) question about mixing licenses within a project. We'd like to distribute the project as LGPL or, in its defect, as GPL.
What are your goals for licensing the project? You're asking for advice to choose between two licenses, but haven't told us why you already prefer one or the other.
The project consists of a PD external built with the flext library (the only GPL license of the lot).
By PD do you mean "in the public domain", or something else?
We want to release a C++ API and, separately, the PD external.
Who is the copyright holder for the C++ API? Is it currently licensed to you?
The libraries we're using (for the API) are the following: LibcURL http://curl.haxx.se/ (MIT) TinyXML http://sourceforge.net/projects/tinyxml (ZLIB) LibSnd - http://www.mega-nerd.com/libsndfile/ (LGPL) As said before, the PD external uses flext (flext - http://grrrr.org/ext/flext/, GPL) and the above-mentioned API.
The MIT and ZLIB licenses are compatible; they essentially demand the same terms. You can distribute a combination of these works so long as you satisfy the terms of both licenses.
A work consisting of work under MIT, ZLIB and LGPL can be distributed only by satisfying all license terms; the only way to do this is license the whole work under the LGPL or GPL (and satisfy the terms of all the constituent licenses).
Can we release the API as LGPL?
You haven't said what license you currently have for the API. If you are the sole copyright holder, you can grant any license you like (or none, or several). If you have received it under license, you need to satisfy the license terms.
What licenses would be possible for the external?
If it is in the public domain, no-one has any copyright and you can do as you like -- essentially as if it were your own work. Continuing to distribute it as a public domain work would seem the simplest.
Essentially it boils down as:
- If there are no copyright holders other than yourself (i.e. you are the sole copyright holder, or a public domain work) you can do as you will and distribute under any license terms
- If you have received a work under license, you must satisfy the terms of that license when you perform an act covered by copyright
- If you combine works, you must simultaneously satisfy all license terms when you perform an act covered by copyright
- Acts covered by copyright include copying, modifying and redistributing