Software License List
These lists of licenses are those which are or which are not usable for any software component in IPFire. If you want to add a contribution under a different license, please contact legal@ipfire.org.
Good Licenses
Full Name | Short Name | FSF Free? | GPLv2 Compat? | GPLv3 Compat? | URL |
---|---|---|---|---|---|
Affero General Public License 1.0 | AGPLv1 | Yes | No | license | |
Affero General Public License 3.0 | AGPLv3 | Yes | No | Sortof | license |
Affero General Public License 3.0 or later | AGPLv3+ | Yes | No | Sortof | license |
Apache Software License 1.0 | ASL 1.0 | Yes | No | No | license |
Apache Software License 1.1 | ASL 1.1 | Yes | No | No | license |
Apache Software License 2.0 | ASL 2.0 | Yes | No | Yes | license |
Artistic (clarified) | Artistic clarified | Yes | Yes | Yes | license |
Artistic 2.0 | Artistic 2.0 | Yes | Yes | Yes | license |
Beerware License | Beerware | Yes | Yes | Yes | license |
Boost Software License | Boost | Yes | Yes | Yes | license |
BSD License (original) | BSD with advertising | Yes | No | No | license |
BSD with attribution | BSD with attribution | Yes | license | ||
BSD License (no advertising) | BSD | Yes | Yes | Yes | license |
BSD License (two clause) | BSD | Yes | Yes | Yes | license |
BSD Protection License | BSD Protection | Yes | No | No | license |
CMU License (BSD like) | MIT | Yes | Yes | Yes | license |
Common Development Distribution License | CDDL | Yes | No | No | license |
Common Public License | CPL | Yes | No | No | license |
Copyright Attribution Only | Copyright only | Yes | Yes | Yes | license |
Creative Commons BSD | BSD | Yes | Yes | Yes | license |
Creative Commons GNU GPL | GPLv2+ | Yes | N/A | See Matrix | license |
Creative Commons GNU LGPL | LGPLv2+ | Yes | See Matrix | See Matrix | license |
Do What The F*ck You Want To Public License | WTFPL | Yes | Yes | Yes | license |
Docbook MIT License | DMIT | Yes | No | No | license |
European Union Public License 1.1 | EUPL 1.1 | Yes | Yes | No | license |
Freetype License | FTL | Yes | No | Yes | license |
GNU General Public License (no version) | GPL+ | Yes | Yes | Yes | 1 |
GNU General Public License (no version), with Classpath exception | GPL+ with exceptions | Yes | Yes | Yes | 2 |
GNU General Public License (no version), with font embedding exception | GPL+ with exceptions | Yes | Yes | Yes | 3 |
GNU General Public License v1.0 only | GPLv1 | Yes | No | No | license |
GNU General Public License v1.0 or later | GPL+ | Yes | Yes | Yes | 4 |
GNU General Public License v2.0 only | GPLv2 | Yes | See Matrix | See Matrix | license |
GNU General Public License v2.0 only, with Classpath exception | GPLv2 with exceptions | Yes | Yes, if exception is used. | Yes, if exception is used. | license |
GNU General Public License v2.0 only, with font embedding exception | GPLv2 with exceptions | Yes | See Matrix | See Matrix | license |
GNU General Public License v2.0 or later | GPLv2+ | Yes | N/A | See Matrix | license |
GNU General Public License v2.0 or later, with Classpath exception | GPLv2+ with exceptions | Yes | Yes, if exception is used. | Yes, if exception is used. | license |
GNU General Public License v2.0 or later, with font embedding exception | GPLv2+ with exceptions | Yes | N/A | See Matrix | license |
GNU General Public License v3.0 only | GPLv3 | Yes | See Matrix | N/A | license |
GNU General Public License v3.0 only, with Classpath exception | GPLv3 with exceptions | Yes | Yes, if exception is used. | N/A | license |
GNU General Public License v3.0 only, with font embedding exception | GPLv3 with exceptions | Yes | See Matrix | N/A | license |
GNU General Public License v3.0 or later | GPLv3+ | Yes | See Matrix | N/A | license |
GNU General Public License v3.0 or later, with Classpath exception | GPLv3+ with exceptions | Yes | Yes, if exception is used. | N/A | license |
GNU General Public License v3.0 or later, with font embedding exception | GPLv3+ with exceptions | Yes | See Matrix | N/A | license |
GNU Lesser General Public License (no version) | LGPLv2+ | Yes | Yes | Yes | 5 |
GNU Lesser General Public License v2 (or 2.1) only | LGPLv2 | Yes | See Matrix | See Matrix | license 6 |
GNU Lesser General Public License v2 (or 2.1), with exceptions | LGPLv2 with exceptions | Yes | See Matrix | See Matrix | 7 |
GNU Lesser General Public License v2 (or 2.1) or later | LGPLv2+ | Yes | See Matrix | See Matrix | license |
GNU Lesser General Public License v2 (or 2.1) or later, with exceptions | LGPLv2+ with exceptions | Yes | See Matrix | See Matrix | 8 |
GNU Lesser General Public License v3.0 only | LGPLv3 | Yes | See Matrix | See Matrix | license |
GNU Lesser General Public License v3.0 only, with exceptions | LGPLv3 with exceptions | Yes | See Matrix | See Matrix | 9 |
GNU Lesser General Public License v3.0 or later | LGPLv3+ | Yes | See Matrix | See Matrix | license |
GNU Lesser General Public License v3.0 or later, with exceptions | LGPLv3+ with exceptions | Yes | See Matrix | See Matrix | 10 |
ImageMagick License | ImageMagick | Yes | Yes | Yes | license |
ISC License (Bind, DHCP Server) | ISC | Yes | Yes | Yes | license |
libtiff License | libtiff | Yes | Yes | Yes | license |
MIT license (also X11) | MIT | Yes | Yes | Yes | license |
Mozilla Public License v1.0 | MPLv1.0 | Yes | No | No | license |
Mozilla Public License v1.1 | MPLv1.1 | Yes | Compatible if dual licensed with GPL, otherwise Incompatible | Compatible if dual licensed with GPL, otherwise Incompatible | license |
Mozilla Public License v2.0 | MPLv2.0 | Yes | Sometimes | Sometimes | license |
MySQL License | GPLv2 with exceptions | Yes | ? | license | |
OpenLDAP License | OpenLDAP | Yes | Yes | Yes | license |
OpenSSL License | OpenSSL | Yes | No | No | license |
Perl License | GPL+ or Artistic | Yes | Yes | Yes | license |
Perl License (variant) | GPLv2 or Artistic | Yes | Yes | No | 11 |
Perl License (variant) | GPLv2+ or Artistic | Yes | Yes | Yes | 12 |
Perl License (variant) | LGPLv2+ or Artistic | Yes | Yes | Yes | 13 |
PostgreSQL License | PostgreSQL | Yes | Yes | Yes | license |
Public Domain | Public Domain | Yes | Yes | Yes | 14 |
Python License | Python | Yes | Yes | Yes | license |
Vim License | Vim | Yes | Yes | Yes | license |
zlib/libpng License | zlib | Yes | Yes | Yes | license |
zlib/libpng License with Acknowledgement | zlib with acknowledgement | Yes | No | No | license |
Bad Licenses
Full Name | FSF Free? | URL | Notes |
---|---|---|---|
CACert Root Distribution License | No | License | Liability disclaimer is actually use restriction |
European Union Public License v1.0 | No | License | Non-free due to Article 13. |
Intel Open Source License | Yes | License | Deprecated license |
unrar license | No | License | Use restrictions, forced removal clause, see license page for details |
GPL Compatibility Matrix
Source: http://www.fsf.org/licensing/licenses/gpl-faq.html#v2v3Compatibility
I want to copy code under / I want to release a project under | GPLv2 only | GPLv2 or later | GPLv3 or later | LGPLv2.1 only | LGPLv2.1 or later | LGPLv3 or later |
---|---|---|---|---|---|---|
GPLv2 only | OK if you convert to GPLv2 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv2 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((If you do this, as long as the project contains the code released under GPLv2 only, you will not be able to upgrade the project's license to GPLv3 or later.)) | ||||
GPLv2 or later | OK if you convert to GPL (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPL (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | |||
GPLv3 | OK if you upgrade to GPLv3 ((If you have the ability to release the project under GPLv2 or any later version, you can choose to release it under GPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under GPLv3.)) | OK if you convert to GPLv3 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) (( If you have the ability to release the project under GPLv2 or any later version, you can choose to release it under GPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under GPLv3.)) | OK if you convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | ||
LGPLv2.1 only | OK if you convert to GPLv2 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPL (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((If you do this, as long as the project contains the code released under GPLv2 only, you will not be able to upgrade the project's license to GPLv3 or later.)) | OK if you convert to GPLv3 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | ||
LGPLv2.1 or later | OK if you convert to GPLv2 (( LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((You must follow the terms of GPLv2 when incorporating the code in this case. You cannot take advantage of terms in later versions of the GPL.)) | OK if you convert to GPL ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | |||
LGPLv3 | OK if you upgrade and convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) ((If you have the ability to release the project under GPLv2 or any later version, you can choose to release it under GPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under GPLv3.)) | OK if you convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | OK if you upgrade to LGPLv3 ((If you have the ability to release the project under LGPLv2.1 or any later version, you can choose to release it under LGPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under LGPLv3.)) |
I want to use (link to) a library under / I want to release a project under | GPLv2 only | GPLv2 or later | GPLv3 or later | LGPLv2.1 only | LGPLv2.1 or later | LGPLv3 or later |
---|---|---|---|---|---|---|
GPLv2 only | OK if you convert to GPLv2 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv2 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) (( If you do this, as long as the project contains the code released under GPLv2 only, you will not be able to upgrade the project's license to GPLv3 or later.)) | ||||
GPLv2 or later | OK if you convert to GPL ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((You must follow the terms of GPLv2 when incorporating the code in this case. You cannot take advantage of terms in later versions of the GPL.)) | OK if you convert to GPL ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | |||
GPLv3 | OK if you upgrade to GPLv3 ((If you have the ability to release the project under GPLv2 or any later version, you can choose to release it under GPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under GPLv3.)) | OK if you convert to GPLv3 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) | OK if you convert to GPLv3 ((LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2. If you can switch the LGPLed code in this case to using an appropriate version of the GPL instead (as noted in the table), you can make this combination.)) ((If you have the ability to release the project under GPLv2 or any later version, you can choose to release it under GPLv3 or any later version—and once you do that, you'll be able to incorporate the code released under GPLv3.)) | OK if you convert to GPLv3 ((LGPLv3 gives you permission to relicense the code under GPLv3. In these cases, you can combine the code if you convert the LGPLed code to GPLv3.)) | ||
LGPLv2.1 only | ||||||
LGPLv2.1 or later | ||||||
LGPLv3 |
-
A GPL or LGPL licensed package that lacks any statement of what version that it's licensed under in the source code/program output/accompanying docs is technically licensed under any version of the GPL or LGPL, not just the version in whatever COPYING file they include. ↩
-
A GPL or LGPL licensed package that lacks any statement of what version that it's licensed under in the source code/program output/accompanying docs is technically licensed under any version of the GPL or LGPL, not just the version in whatever COPYING file they include. And if they manage to grant the Classpath exception without specifying a version, you get this strange beast. ↩
-
A GPL or LGPL licensed package that lacks any statement of what version that it's licensed under in the source code/program output/accompanying docs is technically licensed under any version of the GPL or LGPL, not just the version in whatever COPYING file they include. And if they manage to grant the font embedding exception without specifying a version, you get this strange beast. ↩
-
Note that this is not GPLv1+, because 1+ is the same as any version. ↩
-
A GPL or LGPL licensed package that lacks any statement of what version that it's licensed under in the source code/program output/accompanying docs is technically licensed under any version of the GPL or LGPL, not just the version in whatever COPYING file they include. Note that this is LGPLv2+, not LGPL+, because version 2 was the first version of LGPL. Note that this license was originally referred to as the GNU Library General Public License v2, but all current versions (v2.1 or newer) of the license are correctly known as the GNU Lesser General Public License. ↩
-
Note that this license was originally referred to as the GNU Library General Public License v2, but all current versions (v2.1 or newer) of the license are correctly known as the GNU Lesser General Public License. ↩
-
Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first. ↩
-
Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first. ↩
-
Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first. ↩
-
Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first. ↩
-
Some perl packages explicitly state GPLv2, only use this license for those cases ↩
-
Some perl packages explicitly state GPLv2+, only use this license for those cases ↩
-
Some perl packages explicitly state LGPLv2+ (extremely uncommon), only use this license for those cases ↩
-
Being in the public domain is not a license; rather, it means the material is not copyrighted and no license is needed. ↩