October 21, 2021

Open Source Licenses Explained

What is an Open Source License?

The simplest explanation is that an Open Source License is a type of license for computer software and other products that allows the source code, blueprint, or design to be used, modified, or shared under defined terms and conditions. Open Source does not mean the software is available to use, copy, modify, and distribute as desired. Depending on the type of open source license, you may be allowed to modify the source code to meet your needs or fix any issues. The license will determine the freedom you have with the software and its source code.

Non-commercial redistribution or modification of the source code for personal use is not considered when talking about Open Source Licenses. But as a developer and a user, you must definitely be aware of these open source licenses and about these usages. Stay with this article to get an idea about the most common licenses and how they all seek to protect both the authors and users of the software.

Different Open Source Licenses: Copyleft and Permissive

There are over 200 open source licenses out there, but generally, they all fall into two primary categories. Those are Permissive and Copyleft. In 2020 around 76% of open source software is based on Permissive licenses and 14% based on Copyleft licenses. (You will find out examples and use cases of both Permissive and Copyleft licenses below)

Copyleft License

Permissive License

GNU General Public License (GPL)

Apache License

Affero GPL (AGPL)

MIT License

Lesser General Public License (LGPL)

Berkeley Source Distribution (BSD) License

Eclipse Public License (EPL)

Mozilla Public License (MPL)

Examples of Permissive and Copyleft licenses

Permissive License

Permissive licenses allow you to copy, modify, recombine, and redistribute the work with minimal restrictions. In 2020 around 76% of open source software is based on permissive licenses. Usually, users are only required to include “the original copyright notice” and “a copy of the license text” in the redistribution of the permissively licensed software.

The most popular Permissive open-source licenses are Apache, MIT, BSD.

1) Apache License

  • The Apache License is an open source license released by Apache Software Foundation (ASF).
  • In 1995 Apache Group released the first version of its license and in 2004 they released the Apache License version 2.0.
  • Under the Apache License, you can freely use, modify, distribute and sell software without worrying about the use of the software.
  • If you want to redistribute the software with Apache licensed components, then you only need to add “a copy of the license”, “a clear Apache attribution”, and “modification notices” to all files that you modify.
  • Unlike other Permissive licenses, this Apache license explicitly grants rights to users that can be applied to both copyrights and patents (Apache license describes the rights to practice patent claims of contributors to the code).
  • Permissive open source licenses like the Apache License 2.0 are growing in popularity. In 2020 around 18.2% of GitHub projects were licensed under Apache 2.0.
  • Here you can find out more break down of the Apache License and here you can get the full text of Apache 2.0 license.
  • 2) MIT License

  • The MIT License is an open source license created by the Massachusetts Institute of Technology.
  • Under the MIT license, you can freely modify and distribute the software’s code as long as you add “the original copyright notice”, and “a copy of the license itself”.
  • Although the MIT License is very simple, short, and to the point, some developers avoid this because it does not expressly grant patent rights.
  • Well-known MIT License uses: jQuery, Node.js, Lua programming lanuage, Ruby on Rails, X Windows System (X11).
  • The MIT license does not show signs of slowing down, so check here to find out more break down of the MIT License and here you can find 172 words long MIT License full text.
  • 3) Berkeley Source Distribution (BSD) License

  • UC Berkeley created the first version of the BSD license in 1980 and, currently, there are three variants of the BSD license (Original BSD License, the Modified BSD License – 3 clause, and the Simplified BSD License/FreeBSD License – 2 clause).
  • Under the BSD license, you can freely modify and distribute the software’s code in the source or binary format as long as you include “the full text of the license” and “the original copyright notice”.
  • Well-known BSD 3-Clause License uses: Quill, levelDB, D3.js
  • Although the BSD license looks the same as the MIT license, currently BSD license is less popular than other permissive licenses like MIT and Apache License 2.0.
  • Here you can find more break down of the BSD License and, here you can get the full text of the BSD 2 Clause License.
  • Permissive License Use Cases

    The recent trends show that over the years, software developers tend to use Permissive licenses over Copyleft licenses. As I mentioned before, in 2020, about 76% of open-source software use Permissive licenses while 14% use Copyleft licenses. There are many reasons to choose a Permissive license over a Copyleft license:

  • To get more contribution from people, corporations and maximize the use of the software. 
  • When considering the perspective of companies who are looking to exploit a code commercially, they usually prefer a permissive license over copyleft because under the permissive license they would be able to turn their derivative work into proprietary work and use it for commercial purposes. Their only obligation when using a Permissive license is to give credits to the original worker.

  • To protect a software package that has very little code.
  • The Free Software Foundation (FSF) recommends using a Permissive license to the software which has less than 300 lines. So according to FSF recommendation, small software with a Permissive license attracts more developers than a Copyleft license.

  • If the purpose of software is not to earn money.
  • Personally, I think if someone does not want to earn profit but wants to create valuable software, the best thing is to use a Permissive license.

    Copyleft Licenses

    Copyleft licenses also give you the same permissions as permissive licenses. But it requires you to release the complete work under a copyleft license. In other words, if you release a software library under a copyleft license(like GPL), and if someone else wants to use your software library with another proprietary library, they would not be allowed to do that. The GPL is required to build the entire program under the GPL license.

    1) GNU General Public License (GPL)

  • The GPL Licenses is the most popular open source license around. Richard Stallman, founder of Free Software Foundation(FSF) written the GPL license to protect the GNU software from becoming proprietary.
  • If you have used GPL components your software, it means your entire software considered as a “work based on” a GPL, because of that:
    • 1) You does not have rights to claim patents or copyright of the software. And moreover you are obligated to “display a copyright notice”, “disclaimer of warranty”, “intact GPL notices”, and “a copy of the GPL”.
    • 2) You does not have rights to change the license or add additional terms and conditions.
    • 3) You are under the reciprocity obligation. In other words, you are obligated to release the source code and all of the rights to modify and distribute the entire code.
  • There was always some confusion regarding the constitutes of “work based on”. Refer to this article to get a more clear idea about the GPL license and versions of the GPL license.
  • Well-known GPL v3 License uses: Red Hat, GIMP, Unix shell Bash.
  • Although the Copyleft licenses are less popular than Permissive licenses, GPL licenses still play a vital role in the open source ecosystem.
  • Here you can find more break down of the GPLv3 License and, here you can get the full text of the GPLv3 License.
  • Affero GPL (AGPL)

  • As its name, Affero GPL is part of GNU GPL family which also includes LGPL, GPL v2, GPL v3. All of these license are part of Richard Stallman’s GNU project.
  • Henry Poole and Stallman believed that there is an “application service provider (ASP) loophole” existed in the GPL. Then overcome this, the idea about the AGPL License has been built.
  • The AGPL license is based on the GPL v3 and, the AGPL license has the same requirements as GPL v3. But it has an additional statement regarding remote access via a network.
  • The GNU Project recommends that any programmer use an AGPL license if their software runs over a network. However AGPL is not a much popular open source license, currently, it uses only less than 1% of all open source projects.
  • Here you can find more break down of AGPL 3.0 and, here you can get the full text of the AGPL 3.0 License.
  • Copyleft License Use Cases

    Currently, Permissive licenses are the most used license type in open-source software. But we can’t forget Copyleft license are also plays a vital role. The GPL family is considered as one of the most commonly used OSS licenses because as an example, the Linux kernel has also been developed using the Copyleft license.

    If your company develops a program using Copyleft open source license and distributes the program, anyone would be able to modify and use it. But at any time the company can change those and those changes would then have to be made public. So a Copyleft license may be the best fit for your software if you:

  • Want to share your improvements with the open source community.
  • Like to be collaborative with others while building software.
  • Want to commercialize the project and earn profits.
  • Don’t want to let others make proprietary software by using your code.
  • Conclusion

    Here I tried to give a basic explanation about the confusing open source licenses and tried to simplify a few open-source licenses among over 200 licenses. This is for educational purposes only and does your own research to find out what is the best open source license you should choose.

    *Disclaimer: This post is not legal advice, it is for informational purposes only. If you need legal advice, you should consult with an attorney who has reviewed all relevant facts and applicable

    References: snyk.io, fossa.com, whitesourcesoftware.com, tldrlegal.com, synopsys.com, castsoftware.com, apache.org, jakesden.com, choosealicense.com, wikipedia.org

    4 thoughts on “Open Source Licenses Explained

    1. Wow, wonderful blog structure! How long have
      you been running a blog for? you make blogging glance
      easy. The whole look of your website is wonderful, as smartly as the content!

    2. Wonderful blog! I found it while browsing on Yahoo News.
      Do you have any suggestions on how to get listed in Yahoo News?
      I’ve been trying for a while but I never seem to
      get there! Thank you

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Pin It on Pinterest