SCA Tool

Making open source safe, easy, and fun to use

The Main Types of Open Source Software Licenses

Open source software (OSS) has revolutionized the tech industry, fostering innovation and collaboration. However, with the freedom to use and modify open source software comes the responsibility of understanding the various licenses that govern its use. These licenses outline how software can be used, modified, and shared. Here’s a rundown of the main types of open source software licenses you should know.

1. Permissive Licenses

Permissive licenses are the most flexible type of open source licenses. They impose minimal restrictions on how the software can be used, modified, and redistributed. The main goal of these licenses is to maximize freedom for developers. Popular permissive licenses include:

  • MIT License: One of the simplest and most straightforward licenses. It allows users to do almost anything with the software, as long as the original copyright notice and permission notice are included in any copies or substantial portions of the software.
  • Apache License 2.0: Similar to the MIT License, but with additional provisions. It provides an explicit grant of patent rights from contributors to users. This helps protect users from patent claims related to the software.
  • BSD License: There are several versions: the 2-Clause and 3-Clause BSD license versions are the most popular. The main difference is that the 3-Clause version includes a non-endorsement clause, preventing the use of the names of the project or its contributors for promotional purposes without written permission.

2. Copyleft Licenses

Copyleft licenses, in contrast to permissive licenses, require that any derivative works be distributed under the same license terms. This ensures that the software remains open source and that any modifications or enhancements are also shared with the community. Key copyleft licenses include:

  • GNU General Public License (GPL): The most well-known copyleft license. It requires that any distributed derivative works be licensed under the GPL. This ensures that the software and any modifications remain free and open.
  • Lesser General Public License (LGPL): Similar to the GPL, but less restrictive. It allows linking to non-(L)GPL-licensed software without requiring the entire combined work to be licensed under the GPL. This is often used for software libraries.
  • Mozilla Public License (MPL): A middle ground between permissive and strong copyleft licenses. It requires that modifications to the licensed code be open source, but allows the inclusion of the original code in larger proprietary projects.

All of these copyleft licenses are actually families of licenses, and there exist several variations of each.

3. Public Domain Equivalents

Some licenses aim to place software as close as possible to the public domain, allowing users unrestricted freedom to use, modify, and distribute the software. These licenses include:

  • Creative Commons Zero (CC0): Although not a software license per se, it is used to waive all copyright and related rights in the work, effectively dedicating it to the public domain.
  • Unlicense: A license that aims to release software into the public domain. It includes a public domain dedication and a simple license allowing unrestricted use.

4. Dual Licensing 

Software projects often have dual or multiple licenses. The owner of a copyright can license their own work as often as they want. This allows companies that produce proprietary software to open source parts of their software and FOSS developers to sell their FOSS licensed software under a proprietary license that grants certain warranties. In most cases, it allows licensees to choose from one of the provided licenses. In some cases, all licenses must be complied with at the same time (Rosen, L. E. 2005 Open source licensing: Software freedom and intellectual property law. Prentice Hall PTR.)

Sources
[1] Rosen, L. E. (2005). Open source licensing: Software freedom and intellectual property law. Prentice Hall PTR.
[2] Wagner, M. (2023). JavaScript User Interface License Compliance Best Practices.

Subscribe!