The differences between the GPL, LGPL and the BSD

  • April 6, 2007
  • Avatar for peter
    Peter
    Upfold

There are a lot of different open source licences out there, and it can sometimes be a bit confusing if you're not intimate with the details of each one. So here's a quick roundup of three of the most popular licenses and the difference between them.

Just a quick disclaimer - I'm not a lawyer, so don't depend on my explanations on the licences here. All the usual disclaimers apply.

GNU General Public Licence

The GNU General Public Licence, or GPL as it's often called, is the most popular free software licence and it's used by many different projects, including the Linux kernel, the GNU tools and literally hundreds of others.

You can find the legal text for the GPL here, but here's a quick summary of what it means.

Basically, you're allowed to use, redistribute and change the software, but any changes you make must also be licensed under the GPL. So that means you have to give everyone else the same rights as you got. Fair's fair, right?

There are also other restrictions and there's quite a nice human-readable version at the Creative Commons site.

The GNU Lesser General Public Licence

The LGPL is similar to the GPL, but is more designed for software libraries where you want to allow non-GPL applications to link to your library and utilise it. If you modify the software, you still have to give back the source code, but you are allowed to link it with proprietary stuff without giving the source code to all of that back.

Again, there's a nice friendly look at this on the Creative Commons site.

The BSD Licence

In contrast to the GNU licences, the BSD licence is very permissive. Used originally by the BSD operating system, it covers a fair amount of software.

The BSD basically says "here's the source code, do whatever you want with it, but if you have problems, it's your problem". That means you can take BSD'ed code and turn it into a proprietary application if you so wish - there's nothing saying you have to give the code back (although it is nice to do so).

The BSD licence is very small because it is so simple, and often looks like this:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* 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.
* Neither the name of the [[whoever]] nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

There are also several other licences (the MIT for example) that are similar in spirit to the BSD.

Obviously, that's not all the licences - there are plenty, and developers choose them for different circumstances. Some are restrictive, but preserve the free-ness of the code like the GPL, and some are much more permissive.

The Free Software Foundation call the GPL-style restrictions (you must release any modifications under the same licence) 'copyleft'. Mr Stallman himself has an essay about this and other issues on the GNU site. Bear in mind though, this article does push Stallman's personal views on software licences quite heavily. Take with a pinch of salt if necessary.

Avatar for peter Peter Upfold

Home » Articles »