Open source licensing is important if you’re in the technology world because according to Dana Crane of ActiveState, open source is the main way to build software applications. Crane goes on to say that even so every time you add a new source language or a library to your stack “you’ll most likely be hit with yet another legal roadblock in the form of legal reviews by your organization.”
Crane writes in an ActiveState blog that there is a dichotomy when it comes to open source. It’s free to use, but that doesn’t mean it’s risk-free in terms of redistribution. The following is a simple-to-follow overview of open sources licenses, and some of the key things to know, particularly if you’re a developer.
An Overview of Open Source Licensing
The core thing to keep in mind with open source licensing is that it’s a legal contract between the author of a software component and the user. This means that the license declares software can be used in commercial applications only under certain conditions. The license is what brings code to open source. Even if the code is published publicly, you can’t use it without that open source license.
An open source license will outline what you can and can’t do with software, and what your obligations are.
It gets complex, however, because there are more than 200 open source licenses each with their own requirements.
Two Main Categories of Licenses: Copyleft and Permissive
There are two primary categories that licenses can be divided into. One is copyleft,and the other is permissive. With a copyleft license, what the author is doing is issuing their program with a claim on the copyright of the work. There is a statement that other people can use the work, but to do so, their code has to be open as well.
Then, there is the permissive open source license. This is a less rigid type of licensing with fewer restrictions. There isn’t anything required on the part of the user, or at least not much when they’re using it.
GNU General Public License (GPL)
The GNU General Public License is worth mentioning on its own, as are a few others because it’s one of the most commonly used open source licenses. With this license, developers have a pretty broad range of rights.
With a GNU General Public License, you can copy the software anywhere you want, including your servers and your client’s servers. You can distribute it anyway you want, charge for distributing it, and make changes. The only big limitation here is that if you modify the software, you have to release it under the GPL.
There is something called the Lesser General Public License, which has fewer rights than the regular GPL. The LGPL doesn’t require projects with parts of the code to be licensed in the same way the GNU GPL does.
The MIT License is one of the most permissive and widely used open-source licenses. You can use, change,and copy the software anyway you want. You can sell it or give it away as there are no distribution restrictions. The only restriction with the MIT license is that it has the license agreement with it.
Apache License 2.0
Another popular and relatively permissive license is the Apache 2.0. You have to include copyright, license, state changes, and notice. You can modify, distribute, use it commercially, sub-license, use it privately,and use patent claims with this option. You can’t hold liable or use the trademark. This license is from the Apache Software Foundation, and there’s an active community backing it.
Microsoft Public License
The Microsoft Public License allows you to reproduce and distribute any work licensed under this, but you can’t use contributors’ names, logos,or trademarks in doing so. The author can’t be held liable if the code doesn’t work as it should. You don’t have to distribute the source code, but you do have to keep all the attribution, copyright, patent and trademark notices from the original software.
When you’re choosing an open source license, there are some major key things to think about. First, if you need to work in a community, then your answer may be simple. You’ll likely choose the license that the community prefers. If you want something very simple and broadly permissive, you may go with an option like the MIT license. Beyond those considerations, there are many other options available to fit different needs.