Welcome to the IPFire Wiki

This wiki is a community-maintained resource about everything there is to know about IPFire. Join us and help us improving it!

Looking for something?

Use the search and find answers to everything about IPFire. If you cannot find what you are looking for, join our community and talk to fellow IPFire users, developers and everybody else involved in the project.

IPFire Community

Licenses

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 http://www.affero.org/oagpl.html
Affero General Public License 3.0 AGPLv3 Yes No Sortof http://www.fsf.org/licensing/licenses/agpl-3.0.html
Affero General Public License 3.0 or later AGPLv3+ Yes No Sortof http://www.fsf.org/licensing/licenses/agpl-3.0.html
Apache Software License 1.0 ASL 1.0 Yes No No http://www.apache.org/licenses/LICENSE-1.0
Apache Software License 1.1 ASL 1.1 Yes No No http://www.apache.org/licenses/LICENSE-1.1
Apache Software License 2.0 ASL 2.0 Yes No Yes http://www.apache.org/licenses/LICENSE-2.0
Artistic (clarified) Artistic clarified Yes Yes Yes https://fedoraproject.org/wiki/Licensing/ArtisticClarified
Artistic 2.0 Artistic 2.0 Yes Yes Yes http://www.perlfoundation.org/artistic_license_2_0
Beerware License Beerware Yes Yes Yes https://fedoraproject.org/wiki/Licensing/Beerware
Boost Software License Boost Yes Yes Yes http://www.boost.org/LICENSE_1_0.txt
BSD License (original) BSD with advertising Yes No No https://fedoraproject.org/wiki/Licensing/BSD#BSDwithAdvertising
BSD with attribution BSD with attribution Yes https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution
BSD License (no advertising) BSD Yes Yes Yes https://fedoraproject.org/wiki/Licensing/BSD#3ClauseBSD
BSD License (two clause) BSD Yes Yes Yes https://fedoraproject.org/wiki/Licensing/BSD#2ClauseBSD
BSD Protection License BSD Protection Yes No No https://fedoraproject.org/wiki/Licensing/BSD_Protection_License
CMU License (BSD like) MIT Yes Yes Yes https://fedoraproject.org/wiki/Licensing/MIT
Common Development Distribution License CDDL Yes No No https://fedoraproject.org/wiki/Licensing/CDDL
Common Public License CPL Yes No No http://www.eclipse.org/legal/cpl-v10.html
Copyright Attribution Only Copyright only Yes Yes Yes https://fedoraproject.org/wiki/Licensing/CopyrightOnly
Creative Commons BSD BSD Yes Yes Yes http://creativecommons.org/licenses/BSD/
Creative Commons GNU GPL GPLv2+ Yes N/A See Matrix http://creativecommons.org/choose/cc-gpl
Creative Commons GNU LGPL LGPLv2+ Yes See Matrix See Matrix http://creativecommons.org/choose/cc-lgpl
Do What The F*ck You Want To Public License WTFPL Yes Yes Yes https://fedoraproject.org/wiki/Licensing/WTFPL
Docbook MIT License DMIT Yes No No https://fedoraproject.org/wiki/Licensing/DMIT
European Union Public License 1.1 EUPL 1.1 Yes Yes No http://ec.europa.eu/idabc/en/document/7774.html
Freetype License FTL Yes No Yes http://freetype.fis.uniroma2.it/FTL.TXT
GNU General Public License (no version) GPL+ Yes Yes Yes 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.
GNU General Public License (no version), with Classpath exception GPL+ with exceptions Yes Yes Yes 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.
GNU General Public License (no version), with font embedding exception GPL+ with exceptions Yes Yes Yes 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.
GNU General Public License v1.0 only GPLv1 Yes No No http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt
GNU General Public License v1.0 or later GPL+ Yes Yes Yes Note that this is not GPLv1+, because 1+ is the same as any version.
GNU General Public License v2.0 only GPLv2 Yes See Matrix See Matrix http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
GNU General Public License v2.0 only, with Classpath exception GPLv2 with exceptions Yes Yes, if exception is used. Yes, if exception is used. https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception
GNU General Public License v2.0 only, with font embedding exception GPLv2 with exceptions Yes See Matrix See Matrix http://www.gnu.org/licenses/gpl-faq.html#FontException
GNU General Public License v2.0 or later GPLv2+ Yes N/A See Matrix http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
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. https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception
GNU General Public License v2.0 or later, with font embedding exception GPLv2+ with exceptions Yes N/A See Matrix http://www.gnu.org/licenses/gpl-faq.html#FontException
GNU General Public License v3.0 only GPLv3 Yes See Matrix N/A http://www.fsf.org/licensing/licenses/gpl.html
GNU General Public License v3.0 only, with Classpath exception GPLv3 with exceptions Yes Yes, if exception is used. N/A https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception
GNU General Public License v3.0 only, with font embedding exception GPLv3 with exceptions Yes See Matrix N/A http://www.gnu.org/licenses/gpl-faq.html#FontException
GNU General Public License v3.0 or later GPLv3+ Yes See Matrix N/A http://www.fsf.org/licensing/licenses/gpl.html
GNU General Public License v3.0 or later, with Classpath exception GPLv3+ with exceptions Yes Yes, if exception is used. N/A https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception
GNU General Public License v3.0 or later, with font embedding exception GPLv3+ with exceptions Yes See Matrix N/A http://www.gnu.org/licenses/gpl-faq.html#FontException
GNU Lesser General Public License (no version) LGPLv2+ Yes Yes Yes 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.
GNU Lesser General Public License v2 (or 2.1) only LGPLv2 Yes See Matrix See Matrix http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 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.
GNU Lesser General Public License v2 (or 2.1), with exceptions LGPLv2 with exceptions Yes See Matrix See Matrix Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first.
GNU Lesser General Public License v2 (or 2.1) or later LGPLv2+ Yes See Matrix See Matrix http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
GNU Lesser General Public License v2 (or 2.1) or later, with exceptions LGPLv2+ with exceptions Yes See Matrix See Matrix Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first.
GNU Lesser General Public License v3.0 only LGPLv3 Yes See Matrix See Matrix http://www.fsf.org/licensing/licenses/lgpl.html
GNU Lesser General Public License v3.0 only, with exceptions LGPLv3 with exceptions Yes See Matrix See Matrix Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first.
GNU Lesser General Public License v3.0 or later LGPLv3+ Yes See Matrix See Matrix http://www.fsf.org/licensing/licenses/lgpl.html
GNU Lesser General Public License v3.0 or later, with exceptions LGPLv3+ with exceptions Yes See Matrix See Matrix Please be sure that any exceptions are approved by emailing them to legal@ipfire.org first.
ImageMagick License ImageMagick Yes Yes Yes http://www.imagemagick.org/script/license.php
ISC License (Bind, DHCP Server) ISC Yes Yes Yes https://www.isc.org/software/license
libtiff License libtiff Yes Yes Yes https://fedoraproject.org/wiki/Licensing/libtiff
MIT license (also X11) MIT Yes Yes Yes https://fedoraproject.org/wiki/Licensing/MIT
Mozilla Public License v1.0 MPLv1.0 Yes No No http://opensource.org/licenses/mozilla1.0.php
Mozilla Public License v1.1 MPLv1.1 Yes Compatible if dual licensed with GPL, otherwise Incompatible Compatible if dual licensed with GPL, otherwise Incompatible http://www.mozilla.org/MPL/MPL-1.1.html
Mozilla Public License v2.0 MPLv2.0 Yes Sometimes Sometimes https://fedoraproject.org/wiki/Licensing/MPLv2.0
MySQL License GPLv2 with exceptions Yes ? http://www.mysql.com/company/legal/licensing/foss-exception.html
OpenLDAP License OpenLDAP Yes Yes Yes http://www.openldap.org/software/release/license.html
OpenSSL License OpenSSL Yes No No http://www.sdisw.com/openssl.htm
Perl License GPL+ or Artistic Yes Yes Yes http://dev.perl.org/licenses/
Perl License (variant) GPLv2 or Artistic Yes Yes No Some perl packages explicitly state GPLv2, only use this license for those cases
Perl License (variant) GPLv2+ or Artistic Yes Yes Yes Some perl packages explicitly state GPLv2+, only use this license for those cases
Perl License (variant) LGPLv2+ or Artistic Yes Yes Yes Some perl packages explicitly state LGPLv2+ (extremely uncommon), only use this license for those cases
PostgreSQL License PostgreSQL Yes Yes Yes https://fedoraproject.org/wiki/Licensing/PostgreSQL_License
Public Domain Public Domain Yes Yes Yes Being in the public domain is not a license; rather, it means the material is not copyrighted and no license is needed.
Python License Python Yes Yes Yes http://www.python.org/2.0.1/license.html
Vim License Vim Yes Yes Yes http://vimdoc.sourceforge.net/htmldoc/uganda.html
zlib/libpng License zlib Yes Yes Yes http://www.gzip.org/zlib/zlib_license.html
zlib/libpng License with Acknowledgement zlib with acknowledgement Yes No No https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement

Bad Licenses

Full Name FSF Free? URL Notes
CACert Root Distribution License No https://fedoraproject.org/wiki/Licensing/CACert_Root_Distribution_License Liability disclaimer is actually use restriction
European Union Public License v1.0 No http://ec.europa.eu/idabc/eupl Non-free due to Article 13.
Intel Open Source License Yes http://opensource.org/licenses/intel-open-source-license.php Deprecated license
unrar license No https://fedoraproject.org/wiki/Licensing/Unrar 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 OK ((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.)) NO 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.)) NO
GPLv2 or later OK ((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 OK 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 NO 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 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 OK ((If you do this, as long as the project contains the code released under LGPLv2.1 only, you will not be able to upgrade the project's license to LGPLv3 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.)) ((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.)) OK ((You must follow the terms of LGPLv2.1 when incorporating the code in this case. You cannot take advantage of terms in later versions of the LGPL.)) OK OK
LGPLv3 NO 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 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.)) OK
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 OK (( 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.)) NO 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.)) NO
GPLv2 or later OK ((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 OK 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 NO 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 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 OK OK OK OK OK
LGPLv2.1 or later OK OK OK OK OK OK
LGPLv3 OK OK OK OK OK OK
Edit Page ‐ Yes, you can edit!

Older Revisions • December 10, 2013 at 9:00 pm • Michael Tremer