Below is a table that compares popular open-source licenses.
|License||Permissiveness||Copyleft||Patent Grant||Complexity||Attribution||Derivative & Redistribution Licensing||Examples|
|MIT License||Very high||None||No||Low||Required||Any license, No Requirement||jQuery, .NET Core|
|GNU GPL||Low||Strong||No||High||Required||GPL Only||Linux kernel, WordPress|
|GNU LGPL||Moderate||Weak||No||Moderate||Required||LGPL or More Permissive, Required LGPL||GTK|
|Apache License 2.0||Very high||None||Yes||Moderate||Required with changes||Any license, No Requirement||Apache HTTPD, Kafka|
|BSD Licenses||Very high||None||No||Low||Varies by clause||Any license, No Requirement||FreeBSD, NetBSD|
|MPL 2.0||Moderate||File-level||No||Moderate||Required||MPL or More Permissive, Required MPL||Firefox|
|Creative Commons||Varies||Varies||No||Low to Moderate||Varies by license type||Varies||Artwork, music, blogs|
|Eclipse Public License||Moderate||Moderate||No||Moderate||Required||Any license, No Requirement||Eclipse IDE|
- Permissiveness: Describes how free the users are to use, modify, and distribute the code. “Very high” means there are minimal restrictions, while “Low” means there are more restrictions.
- Copyleft: Describes the requirement for derivative works to remain under the same license. “None” means no such requirement, “Strong” means a strict requirement, and “Weak” or “File-level” means only some parts (e.g., modified files) need to be under the same license.
- Patent Grant: Indicates if the license grants patent rights from the contributors to the users.
- Complexity: Indicates the difficulty in understanding, applying, and using the license.
- Attribution: Refers to the requirement of giving credit to the original authors. If the license requires attribution only with changes, it means that users must mention changes they made when redistributing the code.
- Derivative & Redistribution Licensing: Conditions under which modified works or redistributions of original content must operate.