I've been working on a project for a while, and I'm almost ready to release it, but I've been more concerned with getting it to build than legal considerations, and now I'm not at all sure where I stand with licensing.
My Mercurial repository (which I plan to push to BitBucket.org) contains, aside from my own original code:
- A static (.a) binary of libcurl (MIT or Modified BSD)
- A static (.a) binary of libuuid from util-linux (Modified BSD)
- Source code (.c and .h) copied as-is from JSMN (MIT)
- Source code (.c and .h) copied and slightly modified by me from INIH (New BSD)
It also dynamically links against various libraries such as libxml2 (MIT) and the curl dependencies.
I'm not that bothered about what licence I use for my own code, though I'd prefer it to be as permissive as possible.
My question then is how can I release this project while complying with the various licence terms of the code I'm using? Note that as well as publishing the source code, I'll also be distributing compiled binaries.
EDIT: Since his was the only project which didn't have a BSD-type licence, I emailed Serge Zaitsev, developer of JSMN, to ask if he had any objections to including his code in a BSD licensed project, he wrote back:
I'm not a guru of open-source licenses, but I always pick the most permissive license for my projects (MIT).
I think 2-clause BSD and MIT are compatible licenses and are pretty much permissive. I personally don't see any problems with using MIT libraries in a BSD-licensed project, or GPL-licensed project, or even a closed-source one, because MIT license permits it all.