• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

Sign in to follow this  

BSD or GPL: Choosing an open source license

Recommended Posts

Daylene    0

If you ever plan on writing an open source program, then you must make an important decision, selecting a program license. Generally for open source programs, there are two main licenses that most developers take into consideration. These licenses are the Gnu General Public License, and the BSD license. This article will explain the fundamentals of each license, and will help you in choosing the right license for your open source project.

The first software license that comes to mind for an open source program is the Gnu General Public License(GPL). Created by Richard Stallman in 1989, the GPL is currently at version 3. The GPL is a restrictive license, which actively enforces copyleft"

The BSD license is a permissive license, allowing more freedoms to the users who wish to use your work in their programs. Using the BSD license, a company or entity can take your program and incorporate into a commercial product, which is not allowed under the terms of the GPL.

The main differences between GPL and BSD licenses

This section is a question and answer section, and will demonstrate the fundamental differences in the GPL and BSD licenses.

'Question: Who can use my code?'

BSD Answer: When using a BSD license, a company (or a person) can take your code and use it in their own commercial or non-commercial products, and isn't required to give you credit or compensation for your work.

GPL Answer: Another party cannot use code licensed under the GPL without giving the original creator (for example, you) credit for their work. If a party does decide to use your work commercially, they cannot charge for your work, only for the repackaging of it. An exmaple of this is Cedega, a commercial program for Linux which is a fork of Wine, a Windows compatibility layer for Linux. Since Wine is licensed under the LGPL (Lesser GPL license), Cedega must provide the source code to all the Wine code that they use. They must also provide the source code of any modifications that they do to the Wine source. Although, some of its own code that hasn?t been forked from Wine is licensed under another proprietary license, so that code doesn?t need to be published for the world to seQuestion: So why bother using the BSD license if the GPL gives my code better protection?

Answer: For some developers, simply having their code out in the wild is fine, and they don?t need or care about protecting their code from commercial use. The BSD license also makes it easier for people to create commercial or non-commercial forks of your code if you decide to abandon your project. This reason was a deciding factor for the Apache software group when they chose a BSD-style license for their webserver, who stated, ?This type of license is ideal for promoting the use of a reference body of code that implements a protocol for common service. This is another reason why we choose it [bSD license] for the Apache group - many of us wanted to see HTTP survive and become a true multiparty standard, and would not have minded in the slightest if Microsoft or Netscape choose to incorporate our HTTP engine or any other component of our code into their products, if it helped further the goal of keeping HTTP common...?

In summary, choosing either a GPL or BSD license comes down to what you (the developer) intends to do with the code that you use. This document should do an adequate job of presenting you the information on each license, and it is now up to you to weigh in the pros and cons of using each license in your program, and to select the one that is best suited to your needs. Have fun, and good luck working on your project!

If you have any questions or comments concerning this guide, feel free to leave a comment here, at my Blog posting, or stop by our IRC channel, irc.freenode.net in #law

Share this post


Link to post
Share on other sites
SnowRanger13    27

Very cool read (Y)

Share this post


Link to post
Share on other sites
mitch00    0

Umm, I'm no expert (by any means), but I think what you described for the BSD license is really more a description of Public Domain. If I'm not mistaken, I believe there is a restriction placed on the BSD license and it's variants. That is you must give full credit to the original authors, but may make a fork under any comaptible license (i.e. transfering to a more restrictive license such as the GPL, or a proprietary license of your choice) so long as you point out who the original code came from.

But hey, I've been very wrong in the past, so who knows ;)

Edit: Okay I looked it up, (smart, I know ;)) We were both right, I'm thinking of the 4 clause license, and you the 2/3 clause license. Hehe

Edited by mitch00

Share this post


Link to post
Share on other sites
Angel Blue01    8

You've convinced mw to license all my code under the BSD liscence :) . Now, if only I could find approximate version for text.

Share this post


Link to post
Share on other sites
ichi    359

hmm AFAIK anyone can charge as much as they want for your GPLed code, and go as commercial as they want as long as they don't change the code's license:

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

Share this post


Link to post
Share on other sites
Pc_Madness    3
hmm AFAIK anyone can charge as much as they want for your GPLed code, and go as commercial as they want as long as they don't change the code's license:

I thought you were allowed to charge for it, but you also had to provide it for free as well. So usually they bundle support with it and what not in the paid for version.

Share this post


Link to post
Share on other sites
505    0

There are a number of errors in your text. First, at the first question "who can use my code" the answer is the same for both licences. Everyone can use code licences under an open source licence. This is one of the definitions for open source. The difference is in redistribution of modified code. With either licence anyone (commercial or non-commercial) can take the code, use it, modify it, and use it again, even making huge profits with it (see Google). When you want to redistribute it the licence comes into play. With GPL the modified code must also be GPL, with BSD it can be a different licence. A fine distinction, but these things matter.

Cedaga is not licensed under de LGPL. It was indeed forked from Wine, but before it had the LGPL licence but the X11 licence.

With the question "So why bother using the BSD license if the GPL gives my code better protection" there are also some errors. First, GPL does not protect against commercial use. You may sell GPL licensed code for any price you want, as long as you also distribute the sources for free. This makes it almost pointless to ask money for GPL code, but it can be done (e.g. Suse and Red Hat).

The main difference between GPL and BSD is in your definition of freedom. For BSD is that anyone can use your code for any purpose and do with it as they please. For the GPL freedom stands for making sure the code, and improvements on the code always stay free.

Share this post


Link to post
Share on other sites
ichi    359
I thought you were allowed to charge for it, but you also had to provide it for free as well. So usually they bundle support with it and what not in the paid for version.

No, the only thing you're forced to provide at no cost is the source (that's where you can only charge for repackaging), and only to those getting the binaries.

Anyone purchasing your GPL product can redistribute it for free at any time, but you aren't required to do so.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.