BSD vs GPL Licensing

Disclaimer: This is old information kept here for archival purposes. More current information can certainly be found elsewhere on this site or others. Please visit http://bsd.phoenix.az.us/ for more information on the Phoenix BSD Users Group.

This issue is very "philsophical". That is to say there is no one best license, it all depends on your need. However, it is important to understand what each of the licenses mean.

In a nutshell the primary difference is that the GPL is about forcing other developers to use the GPL which restricts how they may distribute the code. The BSD license allows people to do pretty much anything they want as long as they attribute it.

  • BSD License
    Use the source, modify the source, sell the source, do whatever you want with the source as long as you give credit to the original developers. FreeBSD, NetBSD, OpenBSD, Apache, XFree86 and some other projects are released under this license. This is the most liberal license, you can do anything you want with the code as long as you give the originators credit for having used it (this is why pretty much all operating systems have "portions The Regents of the University of California" or something simular in them).

  • GPL License
    Use the source, give the source away. You cannot create "commercial" software that is "derived" from GPL'd code. You can however charge a reasonable fee for distribution and service related to the source (this is what Caldera/Red Hat/et al do). Any derivative works must be released as source under the GPL. It is important to understand "derived", in this case is means a directly derived product, that is you can develop/compile/link your commercial code with gcc but you can't sell a compiler based on gcc and if you add enhancements to gcc you have to release them under the GPL. Interestingly you cannot make a copy of the GPL that is less restrictive as the license forbids changes to itself.

    A lot of BSD people consider the GPL a "virus" since once it infects the code it is near impossible to get rid of due to the licensing terms, and it tends to spread to other code nearby.

  • LGPL License
    This is an extension to the GPL license that allows you to link your commercial code against a GPL'd library (hence Library GPL), and to charge for the code. This is as long as your code represents a "signifigantly original work".

  • Other "Open Source" Licenses
    There are several other open source licenses that are interesting to examine.
    • Sun's Community Source License
      You can use the code, but you must give it back to Sun and any commercial products based on it are subject to licensing and some restrictions (binary compatibility).
    • Alladin Public License
      Free use, copying, and distribution by end users but no commercial distribution without licensing (usually via an enhanced version).