Image of the glider from the Game of Life by John Conway
Skip to content

BSD License Explained In Layman Terms

It's always bothered me, how confusing the many Free and Open Source Licenses are. There are many to choose from. As a developer, which one do you pick? How do you choose what software to run? What applications or services will you deploy pending licensing? These are big questions, and I hope to make explaining licenses easy and in simple terms for the average user. I'll start with one of the more common licenses, the BSD license.

In a nutshell, the BSD license is a very open license, allowing you do do practically anything with the software. It's less restrictive than the GPL, but more restrictive than the Public Domain. There are only a couple precepts that must be adhered to, when using this license:

  • You are free to redistribute the software, in binary or source form, as long as the copyright, conditions and disclaimer are present.
  • You cannot use the name of the originating organization, or contributers, to promote derivatives of the software, without written consent.

If adhered to, you are free to modify, copy and redistribute BSD-licensed software in either source or binary form as you see fit. You are not required to return code or patches to the upstream BSD-licensed software. You are free to change the license, or charge for derivatives, of the software, be it commercial or proprietary.

BSD-licensed software is particularly attractive to organizations providing a service, such as GMail, or embedded applications, such as your mobile phone or stereo. The company/developer can use BSD-licensed software to produce binary applications or services, without releasing the source code.

{ 14 } Comments

  1. Joseph Scott | August 8, 2007 at 10:08 pm | Permalink

    I don't think the BSD license grants people the ability to change the license of code exactly. Work based on BSD licensed code can be under a different license (like Mac OS X using FreeBSD code). That would be a situation where other licenses can apply.

    That is different than taking the BSD licensed dd implementation and then distributing it as is without modification under a different license. I don't believe the BSD license gives you the right to do that.

  2. Nobody | August 9, 2007 at 12:55 am | Permalink

    I believe the licenses mess won't be any clearer with the new trolltech gpl exception. Anyway it's always good to remind clearly the point of most used licensed. I would add that BSD is not a copy-left license, it means you can modify the bsd-licensed code and use it as you want (redistribute the code in binary or source code format) without having to publish your modifications to anyone.

  3. new back | August 9, 2007 at 12:55 am | Permalink

    If you provide a service such as Gmail using modified GPL'd components you don't have to release the modified source code. The SAAS situation (distributing the results that come out of software) is quite different from working with actually distributed software. There's really nothing in the license forcing you to do that. This is true at least for v2, I have not read v3 yet since no significant project is yet using it.

    The high level of freedom offered by BSD licenses is great.

  4. Aaron | August 9, 2007 at 6:13 am | Permalink

    @Joseph Scott- Yes. Any BSD-licensed derivative can be relicensed. I am not granted the right to change the BSD-licensed software itself, only derivative works.

    @Nobody- Yes. BSD is not a copyleft license, as it is not GPL compatible. However, a license being copyleft doesn't mean a lot to most lay people. Only FSF and Gnu zealots worry about such things. Other people worry about productivity and practicality.

    @new back- It's one thing to use tools that are GPL to create a service or software from scratch. It's another to create a GPL-licensed derivative of the service or software, and not release the code. And yes, BSD is a truly liberating license.

  5. new back | August 9, 2007 at 7:04 am | Permalink

    To clarify this.

    I was referring to creating a derivative using previously GPL-licensed software, and not having to release the code. I could take some GPL'd webmail code, modify it heavily, start charging people for the magnificent new service, and never have to release a thing. In the service case the GPLv2 at least does not force me to release anything no matter how much GPL'd software I use and for what. It is really obvious from the license when you investigate it objectively.

    Freedom is good. I don't believe in forced freedom. Maturing is a process that should be nurtured and guided, not forced. It won't succeed (well) that way.

  6. Aaron | August 9, 2007 at 8:17 am | Permalink

    @new back- Incorrect. Any derivative work of GPL-licensed code must also retain the GPL license, regardless. GPL code prevents the work from becoming proprietary.

  7. new back | August 9, 2007 at 8:34 am | Permalink

    That is true, you can't change the license. But, if you are not distriuting the work further you don't have to give out the modified source code either. You can't build an obligation (under present terms) that internally only used copies should all be published. And that's what providing a service in fact is under at least the terms used in GPLv2.

  8. jldugger | August 9, 2007 at 12:36 pm | Permalink

    Lest this post become part of the interpretation of BSD, let's clarify that you're not allowed to use the name of the originating Parent Company, not "your" parent company, without permission. One makes sense, the other does not.

  9. Aaron | August 9, 2007 at 1:00 pm | Permalink

    @jldugger- Yes. Simple typo, actually. Updated with the fix. Thanks for the heads up.

  10. Glen | August 27, 2007 at 1:55 pm | Permalink

    Perhaps also important:
    Study: Reduced Open Source developer productivity linked to "restrictive" FLOSS licenses (where "restrictive"=GPL and non-restrictive=BSD)

  11. Sandeepan Kundu | December 21, 2008 at 10:42 pm | Permalink

    as long as the copyright, conditions and disclaimer are present.
    can somebody explain me this line in detail...
    exactly what copyright msg should contain...

    i am really confused with this terms....

  12. melwyn | October 2, 2010 at 1:32 pm | Permalink

    if i develop a software using python or gcc can i Sell it?
    if i rewrite vlc player in java can i Sell it?
    if i can sell should i make my source code public?

  13. Danny | October 10, 2010 at 10:07 pm | Permalink

    So do I understand correctly that I can use code with a BSD license in an application that I intend to sell? Where and how am I supposed to include the copyright and disclaimer portions with the application that utilizes said code?

  14. Bob Berliner | October 12, 2010 at 10:27 am | Permalink

    Google uses Yahoo BSD licensed code in iGoogle so take a look at how they copyright since you can bet they've got some good attorneys making sure it's correct:

    /* ===============BEGIN BSD LICENSED PORTION============= */
    Copyright (c) 2007, Yahoo! Inc. All rights reserved.
    Code licensed under the BSD License:
    version: 2.2.0

    #modules .yui-b {
    margin:0 0 1em 0;
    .yui-gb .yui-u {
    .yui-gb div.first {
    #modules,.yui-gb {
    /* ===============END BSD LICENSED PORTION============= */

Post a Comment

Your email is never published nor shared.