What is a Software License?
Software is an interesting thing. Whereas we can touch, move, give, and generally interact physically with most useful things, software is different. It’s intangible. However, the benefits it brings are clear and make a huge impact on our daily lives. Commonly, there are no special agreements entered into when we buy and make use of a physical object as we cannot easily duplicate such objects. Software is again different here. Copying a piece of software is usually a straight-forward process, and as such, it is subject to copyright law. The copyright holders of any particular piece of software have the ability to choose how their work can be used. This choice is exercised through their decision of which software license their work is distributed under. Many software licenses are unique, proprietary licenses which allow a user only to use the software in a very narrow way. Other licenses are more permissive with what they allow: sometimes even allowing complete redistribution of the full software source code for end-user customization.
What is Open Source Software?
According to the Open Source Initiative, Open Source Software “can be freely accessed, used, changed, and shared (in modified or unmodified form) by anyone. ” This means that if one of the more permissive licenses is chosen by a software’s copyright holder, that software becomes Open Source Software. Open Source Software is very important in that it allows extensive peer review and improvement in such a rapid pace that would be impossible for closed source software. In fact, SandStormIT.com itself is run with a very popular piece of Open Source Software call WordPress.
Popular Open Source Software Licenses
The benefits of Open Source Software might lead one to wonder which licenses are Open Source. This is a great question, and the answer is there are many. The Open Source Initiative lists over 80 software licenses which meet the requirements to be considered Open Source Software licenses. The list is quite overwhelming! However, there are really only a handful of frequently used Open Source Software licenses. Let’s focus on three of the most popular and what their respective goals are for the software they license.
GNU Public License (Copyleft)
The GNU Public License (GPL) is one of the most popular Open Source Software licenses available. It is the foremost Copyleft license.
If a software license is Copyleft, it means that any work derived from the original software’s source code MUST be licensed under a software license which is fully compatible with the original license. This requirement is pretty dense in wording, but what it usually comes out to mean is that any new software created using the source code of Copyleft licensed software will usually use the same license as the original work.
If a piece of software is licensed under the GPL, there is a very high likelihood that any derivative software would also be licensed under the GPL.
The goal of the GPL is to ensure that Open Source Software stays Open Source even in subsequently derived software works. The reason for this goal is to keep as much software Open Source as possible.
MIT License
The MIT License is an Open Source Software license whose popularity is easily on par with the GPL. There are several differences in the GPL and the MIT License but one of the most important differences is that the MIT License is NOT Copyleft. This means that one could obtain the source code of a piece of software licensed under the MIT License, make a derivative work with it, then release that derivative work under any sort of software license, including even a closed source license.
The benefit of this type of license is that you get the level of peer review and pace of development of Open Source Software, but the resulting software can be altered for use in private scenarios such as proprietary business software.
The flexibility of the MIT License (and other similar licenses) gives additional incentives to entities beyond individual software developers, such as businesses. Businesses can use software released under the MIT License to create their own software products, and those software products can be sold or offered as a service. This means that development is sometimes sponsored by one or more businesses to share the workload of the development effort where all will benefit in the end.
BSD License
The last popular Open Source license we’ll consider is the BSD License. There are actually several flavors of the BSD License, so for this post, we’ll be strictly speaking about the 3-Clause BSD License which is also known as the New BSD License or sometimes called the Modified BSD License.
The BSD License is nearly identical to the MIT License with one important difference.
Software licensed under the 3-Clause BSD License must follow that important third clause:
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
No one who holds the copyright of the software nor anyone who has worked on the software of a work licensed under the 3-Clause BSD License may be used to market any subsequently derived software. This clause is very important to many Open Source Software developers, especially those who have a high profile in the software development community. Many people in this position do not necessarily want to be associated with any derivative software because it may harm not only their reputation but depending upon where they live in the world and what the derivative software is, it could get them ensnared in legal trouble.
Why Does It Matter?
It may be easy to dismiss all of the above article as overly-academic, hyper-legalistic pedantry. However, as software continues to weave its way deeper and deeper into our lives, it’s important to understand the legal rules which guide how we can interact with that software. In a world where many things are just noise, Open Source Software Licenses are the way that many software developers try to make a positive impact on society and our daily lives. They are the legal framework that underpins almost all of software we use today. From the GNU/Linux and BSD Operating Systems all the way to Apple’s iOS and OS X and Google’s Android, our lives are almost all touched by software distributed under Open Source Software licenses.