MIT vs GNU vs Apache: Understanding popular software license types

Prasoon Dwivedi
2 min readJul 23, 2023

--

There are several types of software licenses, each with its own terms and conditions that dictate how the software can be used, modified, and distributed. Here are some common types of software licenses:

Image Source: https://pixabay.com/vectors/software-license-system-program-7049425/

MIT License: The MIT License is a permissive open-source license that allows users to freely use, modify, distribute, and sublicense the software. It requires that the original copyright notice and the license text be included in all copies of the software. It is one of the most permissive licenses and is widely used in open-source projects.

GNU General Public License (GPL): The GPL is a copyleft license that ensures the software and any derivative works remain open-source and freely available to the community. If you distribute or modify software under the GPL, you must make the source code available to the recipients and allow them to use it under the same terms.

Apache License: The Apache License is a permissive license that allows users to use, modify, distribute, and sublicense the software under certain conditions. It is widely used in open-source projects and is often chosen for its balance between permissiveness and protection of patents and trademarks.

Creative Commons Licenses (CC): Creative Commons licenses are primarily used for creative works like images, music, videos, and written content. There are several types of CC licenses, ranging from more permissive (CC-BY) to more restrictive (CC-BY-NC-ND), depending on whether commercial use, modifications, and sharing are allowed.

BSD License: The BSD License is a permissive open-source license that allows users to use, modify, and distribute the software, even in proprietary projects. It is similar to the MIT License but may have additional attribution requirements.

Mozilla Public License (MPL): The MPL is a copyleft license that permits users to use, modify, and distribute the software under MPL. However, when changes are made to the MPL-licensed code and distributed, those changes must be made available under MPL as well.

GNU Lesser General Public License (LGPL): The LGPL is similar to the GPL, but it allows linking of the LGPL-licensed software with non-GPL-compatible software without requiring the non-GPL software to be open-source. It is often used for libraries and shared components.

Affero General Public License (AGPL): The AGPL is a more stringent version of the GPL, requiring that users who access the software over a network are also entitled to receive the source code. This closes the “ASP loophole” in the GPL.

Reference: https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

--

--

Prasoon Dwivedi

Software Security Enthusiast. Views here are my own and does not represent my employer.