The world’s leading publication for data science, AI, and ML professionals.

The 6 Common Open-Source Licenses and What They Mean

Understand the license to know which one to choose

Photo by Roman Synkevych on Unsplash
Photo by Roman Synkevych on Unsplash

Open-source software is one of the most influential initiatives ever made in the history of computer science and programming. The phrase "Open Source" means something that’s open for people to use. Thus, open-source software is a type of software open to the public, where the source code can be used, modified, and studied.

Often, open-source projects include source code that many people use for various applications. When a project is open-sourced, programmers will have access to the source code to add features to it, fix the broken parts, and inspect it when it’s not working properly. In addition, because open-sourcing a code gives people the power to alter that code, open-source licenses were created to regularize the process and make it clear to programmers what they can and can’t do.

Open-source licenses – sometimes called copyleft licenses – require anyone who releases an open-source application to release a set of rules that stipulate how people may use this code, alter it, and modify it. Doing any action that’s not allowed by the open-source licenses will be considered illegal and violate what’s allowed.

Getting Started with Open-source Roadmap

These licenses can be quite confusing to grasp for people, and quite frankly, long to read and understand what they mean and how to choose the correct license for your application. If you need help choosing a license for your project, try out this tool.

Disclaimer: In this article, I will do my best to go through the basic rules of the 6 most commonly used open-source licenses. That being said, if you’re planning to use any of these licenses, you should read its documentation carefully and consult a lawyer if you still have any questions. Use this article as a starting guide to the world of open-source licenses.

№1: GNU General Public License (GPL)

When I first joined the open-source world, GNU was the most-known license for me; GNU meant open source for me for a while. The GPL licenses are the most copyleft license on our list. Copyleft licenses are those that require the modified work to share the same license as the original work. So, if the work you’re modifying is under one of the GPL licenses, your work will be too.

Any of the GPL licenses allow for the licensed materials to be used commercially. So, you can build upon a GPL work and use that in your workplace. You can also patent your modified work if you wish to. Finally, if you use a little of GPL licensed work in a bigger project, then the entire project must be GPL licensed as well, that’s what makes the GPL the most copyleft of the open-source license.

5 Data Science Programming Languages Not Including Python or R

№2: Mozilla Public License (MPL)

Next up we have another copyleft license, which is the Mozilla Public License. MPL has weaker copyleft requirements than the GPL licenses. The difference between the MPL and GPL is that if you modify code distributed originally under an MPL license, you can choose any license you want as long as the modifications are kept in separate files from the MPL licensed materials.

Using the MPL, you can apply for patents and you can use the modified materials for commercial use, used in private work, or you can make the modifications closed-source as long as it is separate from the MPL-licensed sections of the code.

№3: Apache License

Moving on from copyleft licenses to permissive ones which require no inheritance of the original license, we will start with the Apache License. The Apache license is released and modified by the Apache Software Foundation (ASF); the first version of this license was released in 1995.

The Apache license gives developers the freedom to choose which license to distribute their work under, as long as they mention the original license and document the changes made to the licensed materials. You can also choose to closed-source some of your materials and can use licensed work commercially or obtain a patent.

5 Git Commands That Don’t Get the Hype They Should

№4: MIT License

Next up is many developers’ favorite license – including myself – the MIT license. The MIT license is a permissive license originally released by the Massachusetts Institute of Technology in the late ’80s. The reason many prefer this license is that it’s short, simply written, and clear about what is allowed and what’s not.

The MIT license is one of the most used licenses in the open-source world today. Basically, this license allows you to do whatever you want to the licensed material as long as the original copyright and license are included in your work files. It removes any liability from authors and does not explicitly contain a patent grant.

№5: Boost Software License (Boost)

Another simple, short license is the Boost Software License (Boost) originally written for the C++ Boost libraries. A lot of work has been made to make the Boost license a simple one, and the latest release of this license follows these conditions:

  • Code licensed using Boost must be simple to read and understand.
  • Licensed work can be copied, used, modified without any fee.
  • Any added work must include the license with all copies even the redistributions.

Boost license is a simple, permissive license that’s very similar to the MIT license in most conditions and only has two major differences:

  • If you’re publishing an executable file, you need to include a copyright notice in the MIT license but not in the Boost one.
  • MIT license has a considerably broader perspective on what exactly you can use the code for.

№6: The Unlicense

Finally, we will talk about the Unlicense license. This license is s simple short one with absolutely no conditions on how you can use, modify, and fix any licensed materials. The unlicense gives developers absolute freedom among all other open-source licenses.

The unlicense is often the open-source license of choice if you don’t want to go deep into permissions and conditions and just want to put your work out there as soon as you can. So, if you don’t have any rules of how your source code can be used but must include a license for legal reasons, you can just go with the unlicense.

5 Data Science Open-source Projects You to Contribute to Boost Your Resume

Takeaways

Open-source is an initiative that benefits everyone, people in tech or users of an application, even if they don’t know or care about how it works. As programmers, we like open-source projects for many reasons:

  1. Control. Open source gives you a lot of control over the software. You can study it, alter it, fix what’s broken, and use it as you want within license rules.
  2. Security and stability. If you can fix the problem without waiting for the original author’s permission, then the problem will be fixed faster and more efficiently.
  3. Community. This is probably the most important aspect to many other programmers and me. The open-source community is one of the important things; meeting like-minded people from all over the world and learning from them makes open source such an intriguing concept.

When programmers work hard on building a piece of code, they often accompany it with a license. This license lays out allowed usages of the code and limits the original creator’s setup. Knowing what each license means will guarantee that you choose the correct one when you’re building your own project and when you’re using someone else’s.

Understanding the meaning of each license is a way to show respect to the original creators and to the hard work they put in building this code. This respect is what makes the open-source community influential, and that’s why it keeps growing and is succeeding and thriving today.


Related Articles