Navigating Github’s Open Source Software (OSS) License Options

CleanApp
15 min readDec 5, 2022

--

When you create a new software repository (repo) on Github, you’re prompted with different license choices. Here’s a quick summary of what these different licenses mean to help you start writing and sharing your software faster.

Summary

  • Apache License 2.0: This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It also includes specific provisions that are intended to address patent issues and to protect users from lawsuits related to the use of the software.
  • GNU General Public License 3.0 (GNU GPL 3.0): This is a copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. It is a widely used and well-respected license that addresses a wide range of issues and concerns, and is considered to be the successor to the GNU GPL 2.0.
  • MIT License: This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It is a widely used and well-respected license that is considered to be one of the most permissive open-source licenses, as it places very few restrictions on how the software can be used. It is used by many popular open-source projects, including the React JavaScript library, and is compatible with a wide range of other open-source licenses.
  • BSD 2-clause “Simplified” License: This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It is a shortened and simplified version of the original BSD License, and is compatible with a wide range of other open-source licenses.
  • BSD 3-clause “New” License: This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It adds an additional clause to the license that prohibits users from using the names of the original authors or contributors to endorse or promote derived works without their permission.
  • Boost Software License 1.0: This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It is used by many popular open-source projects, including the Boost C++ libraries, and is compatible with a wide range of other open-source licenses.
  • Creative Commons Zero v1.0 Universal license: This is a permissive open-source license that allows users to freely use, modify, and distribute software, without the need to obtain permission from the original author or to credit the author in any way. It is intended to be used by creators and authors who want to make their work available to the public without retaining any rights or control over the work.
  • Eclipse Public License 2.0 (EPL 2.0): This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It is used by many popular open-source projects, including the Eclipse IDE, and is compatible with a wide range of other open-source licenses.
  • GNU Affero GPL v3.0: This is a copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. It is a more restrictive license than the GNU GPL 3.0, and includes an additional clause that requires users who run the software on a network server to make the source code available to users of the software who access it over the network.
  • GNU General Public License 2.0 (GNU GPL 2.0): This is a copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. It is a more restrictive license than some other open-source licenses, and includes additional provisions that address specific issues that were relevant at the time the license was written.
  • LGPL license: This is a copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. It is a less restrictive license than the GNU GPL.
  • Mozilla Public License 2.0 (MPL 2.0): This is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. It is used by many popular open-source projects, including the Mozilla Firefox web browser and the Mozilla Thunderbird email client, and is compatible with a wide range of other open-source licenses.
  • Unlicense: This is a permissive open-source license that allows users to freely use, modify, and distribute software without any legal restrictions or conditions. It is not a traditional open-source license, as it does not include any specific provisions or requirements that users must follow in order to use the software. Instead, it simply states that the software is “dedicated to the public domain” and that it is “unlicensed.” This makes it a very permissive license that allows users to use the software without any legal restrictions or conditions.

Github Example

Links, Compare & Contrast

Apache License 2.0

The Apache License 2.0 is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The Apache License 2.0 is a popular license that is used by many open-source projects, including the Apache web server software and the Apache Hadoop data processing platform. It is a more permissive license than the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license.

The Apache License 2.0 also includes some specific provisions that are intended to address patent issues and to protect users from lawsuits related to the use of the software. These provisions require users to grant a patent license to the original author and to the users of the software, and to indemnify the original author against any lawsuits related to the use of the software.

GNU General Public License 3.0

The GNU General Public License version 3.0 (GNU GPL 3.0) is a popular open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. This allows other users to see how the software works and to contribute to its development, while still allowing the original author to retain some control over the software and its use.

The GNU GPL 3.0 is part of the GNU Project, which is a collaborative effort to create a free, open-source operating system. The GPL is a copyleft license, which means that any modifications or derivative works must also be licensed under the GPL and made available to the public. This ensures that the software remains open and accessible, and that users are free to use and distribute the software without any legal barriers or limitations.

The GNU GPL 3.0 is a more restrictive license than some other open-source licenses, such as the Apache License 2.0 and the MIT license. This can make it less suitable for certain types of projects, such as commercial software or software that is intended to be used as part of a larger ecosystem. However, it is a popular and widely used license that is trusted and respected by many in the open-source community.

MIT License

The MIT License is a permissive open-source license that is commonly used on GitHub. It allows users to freely use, modify, and distribute software, as long as the original author is credited. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The MIT license is a simple and straightforward license that allows users to use the software for any purpose, including commercial use, without the need to obtain permission from the original author or to credit the author in any specific way. This makes it a popular choice for many open-source projects, as it allows users to freely use and distribute the software without any legal barriers or limitations.

The MIT license is a more permissive license than some other open-source licenses, such as the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license. This makes it a good option for software that is intended to be used independently or as a standalone product, rather than as part of a larger ecosystem.

BSD 2-clause “Simplified” License

The BSD 2-clause “Simplified” License, also known as the BSD “Simplified” License or the BSD 2-clause License, is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include (1) a copy of the license and (2) a notice stating any changes they have made to the original software. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The BSD 2-clause License is a shortened and simplified version of the original BSD License, which was developed at the University of California, Berkeley. It is a more permissive license than the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license.

The BSD 2-clause License is a popular choice for many open-source projects, as it allows users to freely use and distribute the software without any legal barriers or limitations. It is also compatible with a wide range of other open-source licenses, so users can easily combine BSD-licensed software with other software that may be licensed under different terms.

BSD 3-clause “New” or “Revised” License

The BSD 3-clause “New” or “Revised” License is an updated version of the original BSD License, which was developed at the University of California, Berkeley. It adds an additional clause to the license that prohibits users from using the names of the original authors or contributors to endorse or promote derived works without their permission. This is intended to protect the reputation of the original authors and to prevent confusion about the relationship between the original software and any modifications or derivative works.

Boost Software License 1.0

The Boost Software License 1.0 is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The Boost Software License 1.0 is a widely used license that is commonly found on GitHub and other open-source platforms. It is a more permissive license than the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license.

The Boost Software License 1.0 is used by many popular open-source projects, including the Boost C++ libraries and the Boost.org website. It is also compatible with a wide range of other open-source licenses, so users can easily combine Boost-licensed software with other software that may be licensed under different terms.

Creative Commons Zero v.1.0 Universal (CCO)

The Creative Commons Zero v1.0 Universal (CC0) license is a public domain dedication that allows users to freely use, modify, and distribute a work, without any restrictions or conditions. This means that anyone can use the work for any purpose, including commercial use, without the need to obtain permission from the original author or to credit the author in any way.

The CC0 license is intended to be used by creators and authors who want to make their work available to the public without retaining any rights or control over the work. This allows the work to be used and distributed freely, without any legal barriers or limitations, and makes it easier for others to build upon and share the work.

The CC0 license is part of the Creative Commons family of licenses, which are commonly used for open-source software, creative works, and other types of content. It is a more permissive license than some of the other CC licenses, such as the CC-BY license, which requires users to credit the original author when using the work. However, it is not as permissive as the MIT license, which allows users to use the software for any purpose, without the need to credit the author.

Overall, the CC0 license is a useful option for creators and authors who want to make their work available to the public without retaining any rights or control over how it is used. It allows users to freely use, modify, and distribute the work, without any legal barriers or limitations.

Eclipse Public License 2.0

The Eclipse Public License 2.0 (EPL 2.0) is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The EPL 2.0 is a widely used license that is commonly found on GitHub and other open-source platforms. It is a more permissive license than the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license.

The EPL 2.0 is used by many popular open-source projects, including the Eclipse IDE and the Apache Tomcat web server. It is also compatible with a wide range of other open-source licenses, so users can easily combine EPL-licensed software with other software that may be licensed under different terms.

GNU Affero GPL v3.0

The GNU Affero General Public License version 3.0 (GNU AGPL 3.0) is a copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. This allows other users to see how the software works and to contribute to its development, while still allowing the original author to retain some control over the software and its use.

The GNU AGPL 3.0 is a more restrictive license than the GNU General Public License (GPL) 3.0, which is a widely used open-source license. The AGPL adds an additional clause that requires users who run the software on a network server to make the source code available to users of the software who access it over the network. This is intended to ensure that users of the software are able to see how it works and to contribute to its development, even if they are not able to access the source code directly.

The GNU AGPL 3.0 is a popular license that is used by many open-source projects, including the GNU MediaGoblin and the GNU Social social networking platform. It is a more restrictive license than some other open-source licenses, such as the Apache License 2.0 and the MIT license, which can make it less

GNU General Public License 2.0 (GNU GPL 2.0)

The GNU General Public License version 2.0 (GNU GPL 2.0) is a popular copyleft open-source license that allows users to freely use, modify, and distribute software, as long as they provide access to the source code and any changes they have made to the original software. This allows other users to see how the software works and to contribute to its development, while still allowing the original author to retain some control over the software and its use.

The GNU GPL 2.0 is a more restrictive license than some other open-source licenses, such as the Apache License 2.0 and the MIT license, which allow users to use, modify, and distribute the software without the need to make the source code available or to credit the original author. This can make it less suitable for certain types of projects, such as commercial software or software that is intended to be used as part of a larger ecosystem.

The GNU GPL 2.0 is different from the GNU GPL 3.0 in that it includes some additional provisions that address specific issues that were relevant at the time the license was written. These provisions include a “library exception” that allows users to link GPL-licensed software with other software that may be licensed under different terms, and a “territoriality” clause that limits the scope of the license to certain countries.

Overall, the GNU GPL 2.0 is a widely used and well-respected open-source license that allows users to freely use, modify, and distribute software, while still protecting the rights of the original author and ensuring that the software remains open and accessible. However, it is not as widely used as the GNU GPL 3.0, which is a more recent and updated version of the license that addresses a wider range of issues and concerns.

GNU Lesser General Public License v2.1 (LGPL)

The GNU Lesser General Public License (LGPL) is a type of open-source software license that allows licensees to modify and distribute the LGPL-licensed software, as long as they provide access to the source code and any changes they have made. This allows other users to see how the software works and to contribute to its development, while still allowing the original author to retain some control over the software and its use.

The LGPL is “lesser” than the GNU General Public License (GPL), which is a more restrictive open-source license that requires licensees to distribute any modifications they make to the software under the same GPL license. The LGPL is intended to be a more flexible license that allows users to combine LGPL-licensed software with other software that may be licensed under different terms.

In general, the LGPL is a popular license for software that is intended to be used as part of a larger system or ecosystem, such as libraries and frameworks. It allows users to modify and distribute the software freely, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

Mozilla Public License 2.0 (MPL 2.0)

The Mozilla Public License 2.0 (MPL 2.0) is a permissive open-source license that allows users to freely use, modify, and distribute software, as long as they include a copy of the license and a notice stating any changes they have made to the original software. This allows users to build upon and improve the software, while still ensuring that the original author’s rights are protected and that the software remains open and accessible.

The MPL 2.0 is a widely used license that is commonly found on GitHub and other open-source platforms. It is a more permissive license than the GNU General Public License (GPL), which requires users to distribute any modifications they make to the software under the same license.

The MPL 2.0 is used by many popular open-source projects, including the Mozilla Firefox web browser and the Mozilla Thunderbird email client. It is also compatible with a wide range of other open-source licenses, so users can easily combine MPL-licensed software with other software that may be licensed under different terms.

The Unlicense

The Unlicense is a permissive open-source license that allows users to freely use, modify, and distribute software without any legal restrictions or conditions. This means that anyone can use the software for any purpose, including commercial use, without the need to obtain permission from the original author or to credit the author in any way.

The Unlicense is intended to be used by creators and authors who want to make their work available to the public without retaining any rights or control over the work. This allows the work to be used and distributed freely, without any legal barriers or limitations, and makes it easier for others to build upon and share the work.

The Unlicense is not a traditional open-source license, as it does not include any specific provisions or requirements that users must follow in order to use the software. Instead, it simply states that the software is “dedicated to the public domain” and that it is “unlicensed.” This makes it a very permissive license that allows users to use the software without any legal restrictions or conditions.

Overall, the Unlicense is a useful option for creators and authors who want to make their work available to the public without retaining any rights or control over how it is used. It allows users to freely use, modify, and distribute the work, without any legal barriers or limitations.

--

--

CleanApp

global coordination game for waste/hazard mapping (www.cleanapp.io) ::: jurisdiction mapping ::: no token yet, but launching research token soon 💚🌱