Why BSD?

Posted by Sam Minnée on 12 December 2012

Back in 2007, when we made the decision to open source our CMS, we were faced with a decision: which open source license should we release it under? Although at first glance it may seem like a bit of tedious legal administration, the choice of license cuts to the heart of the goals of an open source project.

There are many other licenses to choose from, such as GPL, BSD, MIT and Apache. MIT and BSD are very similar. The Apache License has a similar permissive intent, but is more explicit, and as such it is a lengthier, more complex document. We didn't spend too much time choosing between very similar licenses and instead quickly narrowed our choice down to two alternatives: BSD and GPL.

BSD is short for Berkeley Software Distribution and is the name of a Unix derivative. The BSD license is so named because it was originally used as the license for this software. GPL is short for GNU Public License, and was the license used by the GNU project, principally for the release of GNU/Linux. GNU/Linux is the operating system commonly known as Linux, the name GNU/Linux refers to the fact that, strictly speaking, Linux is just the kernel, and the GNU project developed many of the tools that turn that kernel into a usable operating system.

For us, the critical difference between the two licenses was this:

  • Modifications to a GPL-licensed project must be contributed back to the open source product, and cannot be released solely under a non-GPL license.
  • Modifications to a BSD-licensed project can be retained, and potentially sold commercially, by their creators. Very few restrictions are placed on the so-called "derivative works".

GPL presents an opportunity for commercial entities looking to release open source software, because the GPL won't be appropriate for some people and/or organisations. The GPL also prevents other organisations from creating commercial variants of SilverStripe, reserving that right for the copyright holder.

At the time we chose a license, SilverStripe already existed as a proprietary product, and GPL initially seemed like a safer choice. However, ultimately we found GPL was out of step with our goals.

Dual-licensing may seem appealing as an open source business model, until you work through the details of what this means for contributions. If third party contributors retain copyright of their changes, then those contributions can't be included with any dual-licensed version of the software. This means you have to maintain two separate forks of the software. If, instead, we asked contributors to assign copyright to SilverStripe for their contributions, they are effectively losing significant rights that they have in those changes, because only the copyright holder has rights to release the software under other licenses. Sure, you could have contributor agreements that deal with this, but it makes contribution a complex legal issue, and will ultimately drive a wedge between the needs of the developer community and the needs of the commercial entity behind the software. To us, dual-licensing was a non-starter.

The second benefit we initially saw in GPL was that it protected us from other commercial entities that might create their own commercial variants. In the end, we decided that this wasn't a major issue. Yes, software takes effort to build and it is very useful, but ultimately, the lines of code that are protected by copyright law are not the most valuable asset of our business. Much more valuable are the people that know how to keep innovating, and the reputation we have for doing so. As such, although being protected from competition by copyright law would be nice, it isn't nearly as important as our team and reputation. We decided that this was a risk we could take.

There is a final benefit of GPL being that it tends to force software to become open source rather than proprietary. For some, this is the point: all software should be open source (also called "free software"). Although we at SilverStripe think that open source software is a great thing, and that it is definitely possible to build sucessful companies around open source software, we believe that "all software should be free" is too simplistic - it requires a one-size-fits-all view of the world that we don't share. So this wasn't a benefit of the GPL that we found compelling.

Which brings us to the BSD. We believe that BSD is the open source license that best recognises that open source software will sometimes be worked on as a commnuity project, and sometimes be commercialised. We have released SilverStripe open source, but we also run a business that aims to make money. All that the BSD license really says is that we are okay with other people doing the same. We think that anything less would be unfair.

Post your comment

Note: Comments are moderated and won't show until they are approved

Comments

  • BSD is the reason I'm choosing SilverStripe over Modx and various other CMSs.
    Thanks!

    Posted by Glen, 1 year ago

  • You've misstated what the GPL requires. There is no requirement to contribute your modifications back. But otherwise essentially correct: a developer can't create work based on GPLed software, and remove the rights granted by the GPL from endusers.

    Posted by Steve Piner, 1 year ago

  • The simplistic explanation I normally give customers (non lawyers, non technical) about why they should care about the license is this; if you're implementing a bit of software, or building something which is for "public good" (and has no commercial future), the differences between GPL and BSD won't matter to you.

    On the other hand, if your developing something commercial then building from a BSD licensed bases is a much better choice.

    With the BSD licence, what you develop is yours, and you can choose to give back to the community as you see fit. Part of 'the deal' of GPL licensed software, is that while it's free, you need to give back to the community which gave you the software in the first place - and there are legal obligations to do this as part of the license.

    The most extreme example of how this could catch you out is in the situation where you developed an innovative piece of software which gave you a huge competitive advantage. If that work was based on GPL licensed software, then your competitors could knock on your door and ask for a copy of your code (and your competitive advantage along with it). If you were building on BSD licensed software, they can't.

    So all other things being equal, building your work on top of BSD licensed software will give you more choice and control around any extra IP you might develop.

    Posted by Tim Copeland, 1 year ago

  • you guys are awesome, thanks to your product we succeeded in creating a company that focuses in developing silverstripe based solutions. the CMS is great, people love it. We tried several others before Silverstripe, Wordpress and Modx to name some relevant ones, but from the first moment I took silverstripe my complete way of working on the web changed for good and forever.

    I can't imagine a way to thank you, my company lives and breathes silverstripe every day, thanks to your efforts and our growing community we are capable of providing quality websites all over the world with a world class CMS and a really solid Framework.

    Posted by francisco arenas, 1 year ago @dospuntocero

RSS feed for comments on this page | RSS feed for all comments

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.