14

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.

3
  • 1
    Just for clarification sake, usually, both New BSD and Modified BSD usually refer to the same license: the 3 clause BSD. Is that what you mean here as well? MIT can be two licenses as well; MIT/Expat or MIT/X11. The former is far more usual.
    – Martijn
    Sep 17, 2015 at 10:12
  • JSMN's website links to opensource.org/licenses/mit-license.php - the developer just refers to the "MIT Licence", no mention of whether it's Expat or X11. INIH says "The "inih" library is distributed under the New BSD license." See github.com/benhoyt/inih/blob/master/LICENSE.txt - there do seem to be three clauses.
    – Misha Gale
    Sep 17, 2015 at 10:20
  • 2
    "how can I release this project while complying with the various licence terms of the code I'm using?" - MIT and BSD licenses are both give minimal requirements for what you're obvligated to do. Normally you just have to include the original license notices in the source code of the file(s) you distribute. For distributing binaries, it's normally sufficient to include a notice somewhere in the documentation, such as "This product includes software developed by ..." and then you can give attribution. Read the licenses for whether you're obligated to do this or whether it's just optional.
    – Brandin
    Sep 17, 2015 at 12:35

1 Answer 1

9

BSD and MIT licenses are very similar, essentially they are "do anything you want" licenses with a single requirement to include the license text and attribution to the original author somewhere that can be found easily.

Since you've got three licenses (MIT, Modified BSD, NewBSD) you will need to include all three of those licenses as well as acknowledgment that you are using code from each project.

One way to do this is to include a "LICENSE.txt" file in all distributions that contains a list of all projects and every license.

Another way is to have a "credits" section somewhere in a GUI app, for example chrome's "about" screen this text:

Copyright 2015 Google Inc. All rights reserved.

Google Chrome is made possible by the Chromium open source project and other open source software.

With a link to chrome://credits/ where you can see a list of hundreds of open source projects, a link to their website, and a link to view the license text for that project.

2
  • 1
    Depending on the license, inculding the phrase "MyApp is made possible by the Chromium open source project" in your program's output might be inappropriate. It's often a requirement that you give attribution in a way which does not suggest that the original authors endorse MyApp. Keep the attribution dry and factual.
    – Brandin
    Sep 18, 2015 at 10:05
  • 1
    @Brandin I guess that's why Google only mentions chromium and not, for example, webkit. Sep 18, 2015 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.