I have developed a software that uses (is statically linked to) code licensed under BSD 3-clause license. Just reading the license terms, it seems to me that I'm obliged to allow any one who I sell (redistribute) my software to, to have the right to use the whole software under the conditions of BSD 3-clause license. This is because the license has to be incorporated in the distribution.

It seems however that quite many people are convinced that this is not the case and that is possible to apply a more restrictive license to the whole software without violating the original terms of the BSD license (see for ex wikipedia). If this is possible, how can that be? What am I miss-interpreting?

up vote 0 down vote accepted

The BSD license requires that you show users the copyright notices and the licensing terms of the BSD-covered components. This is just about attribution. This does not require that you make your software available under the terms of the BSD license. This is all that the license has to say on that matter:

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

For example, when you are writing some AwesomSoftware that uses a libfoo library under the terms of the BSD license, you might provide attribution like this library in the documentation or in another customary place for such notices:

AwesomeSoftware uses libfoo under the terms of the BSD-3-Clause license:

Copyright 2016-2018 the libfoo authors
Copyright 1998-2016 Jane Doe 

Redistribution and use <... snip license text>

A software product can contain parts that are licensed under different licenses, even if everything is statically linked together in the end. The only thing is that all different licenses must be compatible with each other, which means that if license A and license B apply to parts of the product then the requirements/obligations imposed by license A are not forbidden by license B.

As different parts of a product can have different licenses, the requirement to include the BSD license text in the distribution cannot imply that the license applies to all parts. Regardless, it is good practice to explicitly identify which parts are governed by the BSD license.

In fact, there are licenses with the property that if they are used for a part of the product, then the whole software must be available under the terms of that license. These licenses are called copyleft licenses, with the GPL license being the most well-known one. These licenses explicitly call out that they apply to the whole product.

  • Thanks for your answer. I'm still a little confused. If I have a part of my code completely proprietary licensed (all rights reserved) and this is statically linked to BSD licensed code, would this not be conflicting? Would not any license more restrictive than BSD itself be incompatible? – marcks Nov 11 at 18:57
  • 1
    @marcks: The only requirement that the BSD license has is that recipients of the code (either source or binary) are informed of the license terms. That is entirely compatible with keeping other parts of the software secret and it is also compatible with a decision to not (further) distribute the source code of the BSD-licensed parts. – Bart van Ingen Schenau Nov 12 at 7:19
  • Thanks for clarifying. I'm now starting to see where my mind is going wrong in this: Reproducing the license text does not actually mean it is it applies to the whole software. I erroneously make this assumption just because I see the combined software together with the BSD license when I distribute it. I will however accept the answer by amon since this put my mind in the right direction. Thanks again. – marcks Nov 12 at 18:45

The BSD license is a permissive license that does not force you to distribute your code under the same terms as the BSD license. As long as you don't claim the code is yours and include the associated copyrights in your documentation you are free to make a closed source commercial product that uses BSD licensed code.

In contrast, a copyleft license like the GPL requires your code to be available under the same terms. Not that this does not stop you making a commercial product that uses the code, it just means that your users have to have access to the source.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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