9 common open source software licences

Gopal Ji Singh
4 min readApr 1, 2023

--

There are many types of open source software licenses, each with its own terms and conditions. Here are 9 of the most common types:

1. GPL (GNU General Public License): The GNU GPL is a copyleft license that requires any modified versions of the software to be released under the same license. It also requires that the source code be made available to users. This license is often used for operating systems, compilers, and other system software.

Example: Linux Kernel

Use Case: A company that wants to develop a new operating system or system-level software can use the GPL license to ensure that the source code remains freely available to users and that any modifications are also released under the same license.
Read More: https://www.gnu.org/licenses/gpl-3.0.en.html

2. MIT License: The MIT license is a permissive license that allows users to do whatever they want with the software, including modifying, copying, and distributing it, as long as they include the original copyright notice and disclaimer. It is often used for libraries, frameworks, and other software components.

Example: ReactJS

Use Case: A company that wants to develop a software component, such as a library or framework, can use the MIT license to allow other developers to use and modify the code as they see fit.
Read More: https://opensource.org/licenses/MIT

3. Apache License: The Apache license is a permissive license that allows users to modify and distribute the software, as long as they include the original copyright notice and disclaimer. It also includes a patent grant that protects users from patent claims related to the software. This license is often used for web servers, application frameworks, and other software components.

Example: Apache Hadoop

Use Case: A company that wants to develop software components, such as web servers or application frameworks, can use the Apache license to provide a permissive licensing option that allows others to use and modify the software while also protecting themselves from patent claims.
Read More: https://www.apache.org/licenses/LICENSE-2.0

4. BSD License: The BSD license is a permissive license that allows users to modify and distribute the software, but it does not require them to include the original copyright notice or disclaimer. It is often used for system utilities, networking software, and other software components.

Example: FreeBSD

Use Case: A company that wants to develop system utilities or networking software can use the BSD license to provide a permissive licensing option that allows others to use and modify the software as they see fit, without requiring attribution.
Read More: https://opensource.org/licenses/BSD-3-Clause

5. LGPL (GNU Lesser General Public License): The LGPL is a copyleft license that allows users to use and modify the software, but any changes made to the library must be made available under the LGPL license. It is often used for software libraries that are intended to be linked with other software.

Example: Qt

Use Case: A company that wants to develop a software library that can be linked with other software can use the LGPL license to ensure that the library remains freely available to users, while also allowing others to link the library with their own software.
Read More: https://www.gnu.org/licenses/lgpl-3.0.en.html

6. Mozilla Public License: The Mozilla Public License is a copyleft license that requires any modified versions of the software to be released under the same license. It also includes a patent grant that protects users from patent claims related to the software. It is often used for web browsers, email clients, and other applications.

Example: Firefox

Use Case: A company that wants to develop an application, such as a web browser or email client, can use the Mozilla Public License to ensure that the source code remains freely available to users and that any modifications are also released under the same license.
Read More: https://www.mozilla.org/en-US/MPL/

7. CDDL (Common Development and Distribution License): The CDDL is a permissive license that allows users to use, modify, and distribute the software, but any changes must be made available under the same license. It is often used for file systems, network protocols, and other software components.

Example: ZFS

Use Case: A company that wants to develop file systems or network protocols can use the CDDL license to provide a permissive licensing option that allows others to use and modify the software while also requiring that any changes are released under the same license.
Read More: https://opensource.org/licenses/CDDL-1.0

8. EPL (Eclipse Public License): The EPL is a copyleft license that allows users to use, modify, and distribute the software, but any changes made to the software must be made available under the EPL license. It is often used for software development tools, such as IDEs.

Example: Eclipse IDE

Use Case: A company that wants to develop software development tools, such as an IDE, can use the EPL license to ensure that the source code remains freely available to users and that any modifications are also released under the same license.
Read More: https://www.eclipse.org/legal/epl-v10.html

9. AGPL (GNU Affero General Public License): The AGPL is a copyleft license similar to the GPL, but it also requires any modifications made to the software to be made available to users who access the software over a network. It is often used for web applications and other networked software.

Example: GitLab

Use Case: A company that wants to develop a web application or other networked software can use the AGPL license to ensure that any modifications made to the software are made available to users who access the software over a network.
Read More: https://www.gnu.org/licenses/agpl-3.0.en.html

Overall, the choice of open source software license depends on the goals and objectives of the company or organization developing the software, as well as the intended use and audience of the software. Companies should carefully review the terms and conditions of each license to ensure that it meets their needs and that they are complying with the requirements of the license.

--

--