Top 8 BSD License’s Questions Answered

November 5, 2015 Rami Sass

BSD License Questions Answered

After covering your top 10 questions about the GPL, the Apache 2.0 License, the Ms-PL, and the CDDL, today we’re answering your top questions about BSD Licenses. The BSD License is the 5th most used license based on our research report on published open-source projects.

BSD Licenses or the original BSD License and its two variants — the Modified License (3-clause), and the Simplified License/FreeBSD License (2-clause) are a family of permissive free software licenses. Due to their permissive nature, they have very relaxed conditions about redistributing software licensed under them.

1. What are the terms and conditions of the License?

The BSD License family lets you freely modify and distribute your software’s code in the source or binary format as long as you retain a copy of the copyright notice, list of conditions, and the disclaimer.

The original License or the 4-clause License also contains an advertising clause and a non-endorsement clause (detailed explanation about these clauses are offered in the following questions). The modified License or the 3-clause License was formed by removing the advertising clause from the original License. Further, the FreeBSD version or the 2-clause License was formed by removing the non-endorsement clause from the modified License or the 3-clause License.

2. What is the difference between the original 4-clause BSD License and the Modified 3-clause?

The advertising clause from the original BSD License requires users to acknowledge the original authors of any used BSD-licensed components in all advertising materials mentioning features or use of their software. This clause was criticized for several reasons. It also made the original License incompatible with the GNU GPL.

Basically the BSD License authors expected developers to include the following acknowledgment in their copyright notices.

However, due to misunderstanding the license (and even with malice intention, in some cases), developers started replacing the above acknowledgment text by adding their own or their organizations’ names.

This led to situations where developers were required to list too many attributions, each corresponding to a used BSD-licensed component in their software.

Following the feedback, in 1999, the advertising clause that appears in the original License was removed to create the Modified 3-clause License.

3. What is the difference between the Modified 3-clause BSD License and Simplified 2-clause?

The Simplified 2-clause License further toned down the 3-clause License by removing the non-endorsement clause. This clause ensured that users could not make it sound like their software was endorsed by any of the acknowledged developers or organizations.

It also introduced a disclaimer about views and opinions expressed in the software to be those of the authors and not of the FreeBSD project.

4. Is it considered copyleft?

Copyright is a law that restricts the right to use, modify, and share creative works without the permission of the copyright holder. When an author releases a program under a copyleft license, he makes a claim on the copyright of the work and issues a statement that other people have the right to use, modify, and share the work as long as the reciprocity obligation is maintained.

The BSD License family doesn’t impose the reciprocity clause, you’re free to redistribute your code as you like. The BSD Licenses are highly permissive and don’t have any strict terms governing their software redistribution.

5. Is it compatible with GPL?

As mentioned earlier, it was the advertisement clause in the original license that made it incompatible with the GNU GPL. The newer versions of the original licenses, i.e., the 3-clause and the 2-clause variants are compatible with GPL.

6. What are the differences between the Modified BSD License and other licenses?

GPL License

The GPL is copyleft. It requires you to disclose your source code and make the modified version open source as well. It also forbids you from sub-licensing, meaning that you can’t change any of the original license terms or introduce any of your own. You’re also required to state all the changes you make to the original code.

The BSD license family (including the Modified License), on the other hand, doesn’t compel you to do any of the above. They have fairly relaxed redistribution terms.

Apache 2.0 License

Both the newer BSD Licenses as well as the Apache 2.0 License are permissive in nature, allowing easy redistribution. In fact, the earlier versions of the Apache License were identical to the original (and later the modified) BSD licenses, but Apache License 2.0 sets them apart.

The Apache License 2.0 explicitly lays down the grant of patent rights while using, modifying or distributing Apache licensed software; it also lists the circumstances when such grant gets withdrawn.

It also has stringent terms when it comes to modifications. It requires you to explicitly list out all the modifications that you’ve done in the original software, i.e., you’re required to preserve modification notices. The Apache License also states clearly that you can’t name your product in any way that hints at the product being endorsed by Apache. So you can call your product “SuperWonderServer powered by Apache” but not “Apache SuperWonderServer”.

The Modified License doesn’t impose any such terms or grant explicit patent rights.

MIT License

MIT is one of the most permissive free software licenses. Basically, you can do whatever you want with a software licensed under the MIT license - only if you add a copy of the original MIT license and copyright notice to it. Its simplicity is the reason behind its high adoption rate among developers.

If you use the MIT license, you can use it as-is. But if you use any of the BSD licenses, you’re still required to modify the license copy to suit the project at hand.

Besides, the Modified License, thanks to its non-endorsement clause, protects you from having your name involved in a project unless you want to.

7. Does it grant patent rights?

The BSD licenses don’t grant any patent rights. You can contrast this with the Apache 2.0 License, where the license explicitly lists its patent terms. It clearly lays down the grant of patent rights while using, modifying or distributing Apache licensed software; it also lists the circumstances when such grant gets withdrawn.

The BSD Licenses, on the other hand, just grant a copyright license. While licensing your component, you will have to take care of the patents yourself.

8. Can I combine BSD-licensed components with proprietary code or code licensed under other open source licenses?

Yes. The permissive nature of the BSD licenses allows you to combine BSD-licensed components with proprietary or open source software. But be sure to check the compliance terms of the licenses of the code that you’re looking to merge with.

Like if you have licensed your component under the original BSD license, it won’t be compatible with code licensed under the GNU GPL. Consider the compatibility issues carefully while combining them.

So that’s about it for ten of your top Berkeley Software Distribution Licenses (BSD) questions answered. Do you have any more? I would be happy to find the answers for you.

 

The author of this blog is not a lawyer, and you should not interpret this BSD-license information as legal advice of any kind. Information is provided on an as-is basis. For a legal consultation, please contact your legal advisor.

Previous Article
1Up Your Game Development With Open Source
1Up Your Game Development With Open Source

If you look at the dynamics of the gaming industry, you will find that it's not very unusual for a small pl...

Next Article
Are All Bugs Shallow? Questioning Linus’s Law
Are All Bugs Shallow? Questioning Linus’s Law

Linus's Law says that if enough people are looking at a certain code, security & quality issues will be dis...

×

Stay up to date, subscribe to our newsletter today!

Country
I agree to receive email updates from WhiteSource
Thank you!
Error - something went wrong!