From: Ben Finney ben@benfinney.id.au
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.
We would like to use LGPL if we can (for our API), but as we're building the PD External with a GPL library we might not be able to do that.
By PD do you mean "in the public domain", or something else?
Ah, excuse me... I meant PD as in "Pure Data", a modular audio program ( http://www-crca.ucsd.edu/~msp/software.html ). It's 'plugins' are called 'externals'.
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?
We created the API ourselves however using other libraries (see below).
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).
Yes, we know we either have to release as GPL or LGPL, that's what we want, but let me rephrase the question:
Our API builds on LibcURL (MIT), TinyXML (zLIB) and LibSnd (LGPL) => can we release our API as LGPL?
Our 'pure data plugin' uses above + uses Flext (GPL), thus it can only be released under the GPL, is that right?
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.
We are the copyright holders. But our API uses other libraries, hence this mail.
I think the confusion arose from my usage of the abbreviation PD for Pure Data - apologies for this...
:::sam:::