When you are working on a project and decide to move from closed source to open source, there are a lot of questions that you may have. One of those questions is whether you really need a license.
The short answer to this question is yes, a license is actually necessary. The problem is, there are so many licenses available it can be difficult to determine which one you need. This guide will compare several open source licenses so that you have a better idea what you need for your particular project.
What Exactly is a License and Why do I Need One?
Simply put, a license is official permission that is granted by the owner of the work to others. The license is essentially a contract with rules about how a person can use the licensor’s work.
To be clear, when you are releasing your work, you will be the licensor and whoever uses your code is the licensee.
There are specific licenses for different types of work and each one is a way to not only protect a person’s work, but to also protect the person who is using your work.
A customized license can be used, but for most people this is not typically necessary as it is often much easier to defend one of the standard licenses than a customized one. Customized licenses can create incompatibilities with some standard licenses, which legally speaking results in your work having poor compatibility.
Using Multiple Licenses
Using multiple licenses is not uncommon, especially if you are trying to build a business using your free work. If this is the case your project will likely be released under a commercial license as well as a FOSS license.
Multi-licensing may also be used to increase the compatibility of your project as your work can be combined with works that are published with different terms or in order to satisfy the different requirements of different users.
Choosing an Open Source License
Now comes the question of which open source license that you should choose. The final decision is really up to you. The most important thing you can do is to make sure that you read all of the authoritative text of the license.
Here are some of the most common licenses to consider:
General Public License
A general public license is a popular choice as there are several versions. This is a very protective license with the main concept being that any derivative work has to be released under the license as well. Large projects will often use a general public license in combination with several others.
The general public license is extremely restrictive since it forces derivative work to be released under all of the same terms. This is important for libraries as they are building blocks for larger software systems. When a library is under the GPL, any application that uses the library has to be released under a GPL as well.
Eclipse is an open source license that is business friendly because it will allow sub-licensing and the creation of software made from EPL or non-EPL code. This provides extra protection for EPL code contributors in cases of lawsuits or damages that are caused by commercial offerings of the work.
MPL (mozilla public license) was developed through the Mozilla foundation. This license is a good middle ground between the very strict GPL type licenses and the more permissive licenses such as the MIT.
The Mozilla license uses a unit as the source file. A licensor cannot restrict user rights or access from any file that is covered by the Mozilla license. However, the same project will be able to have non-Mozilla licensed files as well. The project that results can be released under any type of license as long as access to the files licensed by the MPL are granted.
The Apache License is considered a permissive free license. It does not require derivative work to be distributed using the same terms. This type of license is business friendly and the only type that is used by the Apache Software Foundation, but is also widely used outside of the foundation.
This is one of the most popular types of licenses and may even be the most popular type. This license puts very few restrictions on reuse, which makes it easy to associate with other types of licenses from the general public license to any type of proprietary licenses.
There are three types of BSD licenses, which are the 4 clause, 3 clause, and 2 clause. The four clause license is the original and the two clause license is the most simplified. All of these are very close to the MIT license. There are very few differences between the two clause BSD license and the MIT license.
The original four clause BSD license as well as the three clause license have a few more requirements involving the reuse of names as well as advertising. If you want to protect your brand name or your product, this is something to consider.
A Final Word on Open Source Licensing
Licensing is a very complex and large topic, but it is also very important as these licenses are what provide a safety net for both the licensor and the licensee. When it comes down to it, licenses are really just contracts between the seller and the purchaser.
When you create a product, you want to make sure that you protect it and the only way to do this is to make sure that you choose the appropriate license. The above licenses listed are a good place to start, but there are many more options available as well. The most important thing to remember about licensing is to read all of the rules and the requirements before you proceed with the application process. If you take the time to consider all of the requirements, you will be able to easily choose a license that is right for you.