0

I'm working on software that uses the following libraries:

  • Biopython
  • SciPy
  • NumPy

All of the above have licenses similar to MIT or BSD.

Three scenarios:

  1. First, if I don't redistribute those dependencies, and only my code, then all I need is my own copyright and license (planing on using the MIT License) for my code. Correct?

  2. What if I use py2exe or py2app to create a binary executable to distribute so as to make it easy for people to run the application without needing to install python and all the dependencies. Of course this also means that my binary file(s) contains python itself (along with any other packages I might have performed a pip install xyz).

  3. What if I bundle Biopython, SciPy, and NumPy binaries in my package?

In the latter two cases, what do I need to do to comply with copyright laws.

3

You need to read the licenses, and follow their particular terms. For some, it's as easy as just including a copyright notice and not saying "written with help of the bioPython folks!"

If you are not comfortable understanding and following a two-paragraph license, YOU NEED A LAWYER. No one else is allowed to tell you that you performing a sequence of specific steps is or is not legal. There are simply too many complexities to trust anyone without malpractice insurance and a reputation behind what they say.

(Or, of course, you could get specific permission from the copyright holder. Which is harder than you'd think for an open source project. There's a reason the FSF asks contributors to actually assign them copyright.)


That said, in general, if you make a copy of someone else's code, in whole or in part or just by using it as a guide to write your own, you can't do anything with that code without the someone else's permission. That's what licenses are for; they're written permission with some defined conditions.

If you include someone else's source code or binaries, you cannot give or sell your application to anyone, even once, without that permission. And depending on how deeply you used their libraries, you might not even be able to send the code you wrote yourself without getting their permission.

(There is a fuzzy line between "I copied their source code" and "I did only what was needed to be compatible." There are lawsuits over this all the @#$@ing time But those involve lawyers, and big budgets, and corporate liability shields.)

Thankfully, Python itself and bioPython and even Microsoft and the FSF have available libraries that have absurdly sensible redistribution terms. Even if your code is legally a derivative work, you can almost certainly license just your code via MIT, and bundle it with an installer that either has permission to include thier libraries or just points to where the user can get them from the source.

  • 1
    (I am not a lawyer. If I was, I wouldn't be YOUR lawyer. I'm just a random geek. Do not take legal advice from strangers on the internet.) – DougM Aug 2 '13 at 6:06
1

The usual IANAL aside (I'm not a lawyer, this is not legal advice, get yourself a real lawyer if you want anything conclusive):

Both MIT and BSD (any flavor) are very permissive licenses, and you can bundle them with your application under any license you like, as long as you include the original copyright notice. BSD-3 adds the "no endorsement" clause, which means you cannot use the name of the copyright holders to promote your product.

So as long as you comply with the terms of those licenses (include the original copyright notices as to attribute the code to its authors), all three scenarios are probably OK. For the distributed executable, you'll have to check the license of whatever Python implementation you use, as well as those of any libraries you or Python itself link against, but my guess is that you should be fine.

Again, if you want to be 100% sure, ask a lawyer.

  • +1 You do not need to be a lawyer to answer this question. These are well-known licenses, popular because their terms are well understood & simple & tested in court, and therefore you do not need a lawyer to answer this question. That's precisely why the licenses are popular. – MarkJ Aug 2 '13 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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