License Name | Description | Restrictions | Permissive or Copyleft | Allows Commercial Use | Example |
---|---|---|---|---|---|
GNU General Public License (GPL) | Copyleft license that requires derivative works to be licensed under the GPL as well. | Must provide source code, modifications must be open source | Copyleft | Yes | Linux Kernel, GNU Tools |
MIT License | Permissive license that allows almost unrestricted use, modification, and distribution of the software. | No restrictions | Permissive | Yes | jQuery, Ruby on Rails |
Apache License 2.0 | Permissive license with patent and trademark grants. | Redistribution must include original license | Permissive | Yes | Apache HTTP Server |
BSD 3-Clause License | Permissive license that allows modification and distribution, with attribution requirements. | Redistribution must include original license | Permissive | Yes | FreeBSD, LLVM |
Mozilla Public License 2.0 | Copyleft license similar to the GPL, but with more permissive compatibility options. | Modifications must be open source | Copyleft | Yes | Mozilla Firefox |
Creative Commons (CC0) | Public domain dedication, effectively waiving all copyrights and related rights. | No restrictions | Permissive | Yes | Unsplash, Wikimedia Commons |
GNU Lesser General Public License (LGPL) | Copyleft license with fewer restrictions on linking libraries. | Must provide source code, modifications must be open source | Copyleft | Yes | Qt, GStreamer |
Eclipse Public License (EPL) | Permissive license designed for Java-based projects. | Redistribution must include original license | Permissive | Yes | Eclipse IDE, Android |
ISC License | Permissive license based on the MIT License, but with simpler language. | No restrictions | Permissive | Yes | OpenSSH, OpenBSD |
PostgreSQL License | Permissive license with attribution requirements for modifications. | No restrictions | Permissive | Yes | PostgreSQL Database |
Copyleft Licenses:
- Share-alike Requirement: Copyleft licenses, such as the GNU General Public License (GPL), require that any modifications or derivative works of the original software must be distributed under the same copyleft license. This ensures that the software and its derivatives remain open source.
- Stronger Restrictions: Copyleft licenses often impose more restrictions on how the software can be used, modified, and distributed. For example, they may require that the source code be made available and that any distribution includes the original license and copyright notices.
- Protecting Openness: Copyleft licenses are designed to protect the principles of free software and promote the continued availability of open source software. They aim to prevent the software from being incorporated into proprietary software and to maintain its open nature.
Permissive Licenses:
- Minimal Restrictions: Permissive licenses, such as the MIT License and Apache License, have fewer restrictions on how the software can be used, modified, and distributed. They provide more flexibility and often have a "take it and do whatever you want" approach.
- No Share-alike Requirement: Permissive licenses do not require that modifications or derivative works be distributed under the same license. This means that modified versions can be released under different licenses, including proprietary ones.
- Encouraging Wide Adoption: Permissive licenses aim to maximize the adoption and use of the software by allowing developers and organizations to incorporate it into both open source and proprietary projects without significant licensing requirements.
In summary, copyleft licenses prioritize the openness and continued availability of software by enforcing the distribution of modifications under the same open source license. Permissive licenses, on the other hand, provide more freedom and flexibility to developers and allow for a wider range of licensing options, including proprietary use.
Copyleft is a term used to describe a type of licensing arrangement that ensures that the software and its derivatives remain open source and freely available to the public. It is the opposite of traditional copyright, which typically restricts the use, modification, and distribution of a work.
When a software license is copyleft, it grants users the freedom to use, modify, and distribute the software and its source code. However, it also requires that any modifications or derivatives of the original work be distributed under the same copyleft license. In other words, copyleft licenses enforce the principle that any changes made to the software must also be open source and freely available to others.
The copyleft concept was popularized by the GNU General Public License (GPL), which is used by many open source projects. The GPL ensures that software released under its terms remains free and open source, preventing it from being incorporated into proprietary software. It aims to protect and promote the principles of free software and encourage collaborative development.
Copyleft licenses are designed to ensure that the software and its benefits remain accessible to all, even when modified or extended by others. They provide a legal framework to foster a culture of sharing and collaboration within the open source community.