X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/499cdcc6cb9233e0eb20f3016e7e9aa1dda30868..1502751b3220feda44e34c07c617086538ac1296:/guix/licenses.scm diff --git a/guix/licenses.scm b/guix/licenses.scm index 86f3ae4e82..41d4fefad2 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -1,7 +1,19 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2014 Ludovic Courtès -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2012, 2014, 2015, 2017, 2019 Ludovic Courtès +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2012, 2013 Nikita Karetnikov +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015, 2019 Ricardo Wurmus +;;; Copyright © 2016 Eric Bavier +;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016 Fabian Harfert +;;; Copyright © 2016 Rene Saavedra +;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017 Petter +;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,36 +33,69 @@ (define-module (guix licenses) #:use-module (srfi srfi-9) #:export (license? license-name license-uri license-comment - agpl3 agpl3+ - asl2.0 + agpl1 agpl3 agpl3+ + asl1.1 asl2.0 boost1.0 - bsd-2 bsd-3 bsd-4 bsd-style + bsd-2 bsd-3 bsd-4 + non-copyleft cc0 - cddl1.0 - cecill-c - clarified-artistic + cc-by2.0 cc-by3.0 cc-by4.0 + cc-by-sa2.0 cc-by-sa3.0 cc-by-sa4.0 + cc-sampling-plus-1.0 + cddl1.0 cddl1.1 + cecill cecill-b cecill-c + artistic2.0 clarified-artistic + copyleft-next cpl1.0 + edl1.0 epl1.0 + epl2.0 expat freetype + freebsd-doc + giftware gpl1 gpl1+ gpl2 gpl2+ gpl3 gpl3+ - fdl1.3+ + gfl1.0 + fdl1.1+ fdl1.2+ fdl1.3+ + opl1.0+ isc ijg ibmpl1.0 imlib2 - lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ - mpl1.1 mpl2.0 + ipa + knuth + lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ llgpl + lppl lppl1.0+ lppl1.1+ lppl1.2 lppl1.2+ + lppl1.3 lppl1.3+ + lppl1.3a lppl1.3a+ + lppl1.3b lppl1.3b+ + lppl1.3c lppl1.3c+ + miros + mpl1.0 mpl1.1 mpl2.0 + ms-pl ncsa + nmap openldap2.8 openssl + perl-license psfl public-domain qpl + repoze ruby + sgifreeb2.0 silofl1.1 + sleepycat + tcl/tk + unlicense vim + w3c x11 x11-style + zpl2.1 zlib - fsf-free)) + fsf-free + wtfpl2 + wxwindows3.1+ + hpnd + fsdg-compatible)) (define-record-type (license name uri comment) @@ -69,6 +114,11 @@ ;;; ;;; Code: +(define agpl1 + (license "AGPL 1" + "https://gnu.org/licenses/agpl.html" + "https://gnu.org/licenses/why-affero-gpl.html")) + (define agpl3 (license "AGPL 3" "https://gnu.org/licenses/agpl.html" @@ -79,6 +129,11 @@ "https://gnu.org/licenses/agpl.html" "https://gnu.org/licenses/why-affero-gpl.html")) +(define asl1.1 + (license "ASL 1.1" + "http://directory.fsf.org/wiki/License:Apache1.1" + "https://www.gnu.org/licenses/license-list#apache1")) + (define asl2.0 (license "ASL 2.0" "http://directory.fsf.org/wiki/License:Apache2.0" @@ -104,13 +159,14 @@ "http://directory.fsf.org/wiki/License:BSD_4Clause" "https://www.gnu.org/licenses/license-list#OriginalBSD")) -(define* (bsd-style uri #:optional (comment "")) - "Return a BSD-style license, whose full text can be found at URI, -which may be a file:// URI pointing the package's tree." - (license "BSD-style" +(define* (non-copyleft uri #:optional (comment "")) + "Return a lax, permissive, non-copyleft license (for example a variant of +the 3-clause BSD license or the Expat license), whose full text can be found +at URI, which may be a file:// URI pointing the package's tree." + (license "non-copyleft" uri (string-append - "This is a BSD-style, non-copyleft free software license. " + "This is a lax, non-copyleft free software license. " "Check the URI for details. " comment))) @@ -119,32 +175,105 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:CC0" "http://www.gnu.org/licenses/license-list.html#CC0")) +(define cc-by-sa4.0 + (license "CC-BY-SA 4.0" + "http://creativecommons.org/licenses/by-sa/4.0/" + "Creative Commons Attribution-ShareAlike 4.0 International")) + +(define cc-by-sa3.0 + (license "CC-BY-SA 3.0" + "http://creativecommons.org/licenses/by-sa/3.0/" + "Creative Commons Attribution-ShareAlike 3.0 Unported")) + +(define cc-by-sa2.0 + (license "CC-BY-SA 2.0" + "http://creativecommons.org/licenses/by-sa/2.0/" + "Creative Commons Attribution-ShareAlike 2.0 Generic")) + +(define cc-by4.0 + (license "CC-BY 4.0" + "http://creativecommons.org/licenses/by/4.0/" + "Creative Commons Attribution 4.0 Unported")) + +(define cc-by3.0 + (license "CC-BY 3.0" + "http://creativecommons.org/licenses/by/3.0/" + "Creative Commons Attribution 3.0 Unported")) + +(define cc-by2.0 + (license "CC-BY 2.0" + "http://creativecommons.org/licenses/by/2.0/" + "Creative Commons Attribution 2.0 Generic")) + +(define cc-sampling-plus-1.0 + (license "CC-Sampling+ 1.0" + "https://creativecommons.org/licenses/sampling+/1.0" + "Creative Commons Sampling Plus 1.0")) + (define cddl1.0 (license "CDDL 1.0" "http://directory.fsf.org/wiki/License:CDDLv1.0" "https://www.gnu.org/licenses/license-list#CDDL")) -(define cecill-c +;; CDDL1.1 is the same as 1.0, except that "Sun Microsystems, Inc" becomes "Oracle", +;; "LOST PROFITS" becoms "LOSS OF GOODWILL" and a section is added between 6.2 +;; and 6.3. +(define cddl1.1 + (license "CDDL 1.1" + "https://oss.oracle.com/licenses/CDDL+GPL-1.1" + "https://www.gnu.org/licenses/license-list#CDDL")) + +(define cecill ;copyleft + (license "CeCILL" + "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html" + "https://www.gnu.org/licenses/license-list.html#CeCILL")) + +(define cecill-b ;non-copyleft + (license "CeCILL-B" + "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html" + "https://www.gnu.org/licenses/license-list.html#CeCILL")) + +(define cecill-c ;weak copyleft (license "CeCILL-C" "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html" "https://www.gnu.org/licenses/license-list.html#CeCILL")) +(define artistic2.0 + (license "Artistic License 2.0" + "http://www.perlfoundation.org/artistic_license_2_0" + "http://www.gnu.org/licenses/license-list.html#ArtisticLicense2")) + (define clarified-artistic (license "Clarified Artistic" ;; http://directory.fsf.org/wiki/User:Jgay/license-categorization#Clarified_Artistic_License "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/" "https://www.gnu.org/licenses/license-list.html#ArtisticLicense2")) +(define copyleft-next + (license "copyleft-next" + "https://raw.github.com/richardfontana/copyleft-next/master/Releases/copyleft-next-0.3.0" + "GPL-compatible copyleft license")) + (define cpl1.0 (license "CPL 1.0" "http://directory.fsf.org/wiki/License:CPLv1.0" "https://www.gnu.org/licenses/license-list#CommonPublicLicense10")) +(define edl1.0 + (license "EDL 1.0" + "http://directory.fsf.org/wiki/License:EDLv1.0" + "https://eclipse.org/org/documents/edl-v10.php")) + (define epl1.0 (license "EPL 1.0" "http://directory.fsf.org/wiki/License:EPLv1.0" "https://www.gnu.org/licenses/license-list#EPL")) +(define epl2.0 + (license "EPL 2.0" + "https://www.eclipse.org/legal/epl-2.0/" + "https://www.gnu.org/licenses/license-list#EPL2")) + (define expat (license "Expat" "http://directory.fsf.org/wiki/License:Expat" @@ -155,6 +284,11 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:Freetype" "https://www.gnu.org/licenses/license-list.html#freetype")) +(define giftware + (license "Giftware" + "http://liballeg.org/license.html" + "The Allegro 4 license")) + (define gpl1 (license "GPL 1" "https://www.gnu.org/licenses/old-licenses/gpl-1.0.html" @@ -185,11 +319,38 @@ which may be a file:// URI pointing the package's tree." "https://www.gnu.org/licenses/gpl.html" "https://www.gnu.org/licenses/license-list#GNUGPLv3")) +;; The “GUST font license” is legally equivalent to LPPL v1.3c as it only +;; extends the LPPL with an optional request. +(define gfl1.0 + (license "GUST font license 1.0" + "http://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt" + "https://www.gnu.org/licenses/license-list#LPPL-1.3a")) + +(define fdl1.1+ + (license "FDL 1.1+" + "https://www.gnu.org/licenses/fdl-1.1" + "https://www.gnu.org/licenses/license-list#FDL")) + +(define fdl1.2+ + (license "FDL 1.2+" + "https://www.gnu.org/licenses/fdl-1.2" + "https://www.gnu.org/licenses/license-list#FDL")) + (define fdl1.3+ (license "FDL 1.3+" "https://www.gnu.org/licenses/fdl.html" "https://www.gnu.org/licenses/license-list#FDL")) +(define freebsd-doc + (license "FreeBSD Documentation License" + "https://www.freebsd.org/copyright/freebsd-doc-license.html" + "https://www.gnu.org/licenses/license-list.html#FreeBSDDL")) + +(define opl1.0+ + (license "Open Publication License 1.0 or later" + "http://opencontent.org/openpub/" + "https://www.gnu.org/licenses/license-list#OpenPublicationL")) + (define isc (license "ISC" "http://directory.fsf.org/wiki/License:ISC" @@ -210,6 +371,16 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:Imlib2" "https://www.gnu.org/licenses/license-list#imlib")) +(define ipa + (license "IPA Font License" + "http://directory.fsf.org/wiki/License:IPA_Font_License" + "https://www.gnu.org/licenses/license-list#IPAFONT")) + +(define knuth + (license "Donald Knuth's license for TeX" + "http://www.ctan.org/license/knuth" + "Modification are only permitted under a different name.")) + (define lgpl2.0 (license "LGPL 2.0" "https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html" @@ -240,6 +411,86 @@ which may be a file:// URI pointing the package's tree." "https://www.gnu.org/licenses/lgpl.html" "https://www.gnu.org/licenses/license-list#LGPLv3")) +(define llgpl + (license "LLGPL" + "https://opensource.franz.com/preamble.html" + "Lisp Lesser General Public License")) + +(define lppl + (license "LPPL (any version)" + "https://www.latex-project.org/lppl/lppl-1-0/" + "LaTeX Project Public License 1.0")) + +(define lppl1.0+ + (license "LPPL 1.0+" + "https://www.latex-project.org/lppl/lppl-1-0/" + "LaTeX Project Public License 1.0")) + +(define lppl1.1+ + (license "LPPL 1.1+" + "https://www.latex-project.org/lppl/lppl-1-1/" + "LaTeX Project Public License 1.1")) + +(define lppl1.2 + (license "LPPL 1.2" + "http://directory.fsf.org/wiki/License:LPPLv1.2" + "https://www.gnu.org/licenses/license-list#LPPL-1.2")) + +(define lppl1.2+ + (license "LPPL 1.2+" + "http://directory.fsf.org/wiki/License:LPPLv1.2" + "https://www.gnu.org/licenses/license-list#LPPL-1.2")) + +(define lppl1.3 + (license "LPPL 1.3" + "https://www.latex-project.org/lppl/lppl-1-3/" + "LaTeX Project Public License 1.3")) + +(define lppl1.3+ + (license "LPPL 1.3+" + "https://www.latex-project.org/lppl/lppl-1-3/" + "LaTeX Project Public License 1.3+")) + +(define lppl1.3a + (license "LPPL 1.3a" + "http://directory.fsf.org/wiki/License:LPPLv1.3a" + "https://www.gnu.org/licenses/license-list#LPPL-1.3a")) + +(define lppl1.3a+ + (license "LPPL 1.3a+" + "http://directory.fsf.org/wiki/License:LPPLv1.3a" + "https://www.gnu.org/licenses/license-list#LPPL-1.3a")) + +(define lppl1.3b + (license "LPPL 1.3b" + "https://www.latex-project.org/lppl/lppl-1-3b/" + "LaTeX Project Public License 1.3b")) + +(define lppl1.3b+ + (license "LPPL 1.3b+" + "https://www.latex-project.org/lppl/lppl-1-3b/" + "LaTeX Project Public License 1.3b or later")) + +(define lppl1.3c + (license "LPPL 1.3c" + "https://www.latex-project.org/lppl/lppl-1-3c/" + "LaTeX Project Public License 1.3c")) + +(define lppl1.3c+ + (license "LPPL 1.3c+" + "https://www.latex-project.org/lppl/lppl-1-3c/" + "LaTeX Project Public License 1.3c or later")) + +(define miros + (license "MirOS" + "https://www.mirbsd.org/MirOS-Licence.htm" + "MirOS License")) + +(define mpl1.0 + (license "MPL 1.0" + "http://www.mozilla.org/MPL/1.0/" + "https://www.gnu.org/licenses/license-list.html#MPL")) + (define mpl1.1 (license "MPL 1.1" "http://directory.fsf.org/wiki/License:MPLv1.1" @@ -250,11 +501,21 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:MPLv2.0" "https://www.gnu.org/licenses/license-list#MPL-2.0")) +(define ms-pl + (license "Ms-PL" ;Microsoft Public License + "http://directory.fsf.org/wiki/License:MsPL" + "http://www.gnu.org/licenses/license-list.html#ms-pl")) + (define ncsa (license "NCSA/University of Illinois Open Source License" "http://directory.fsf.org/wiki/License:IllinoisNCSA" "https://www.gnu.org/licenses/license-list#NCSA")) +(define nmap + (license "Nmap license" + "https://svn.nmap.org/nmap/COPYING" + "https://fedoraproject.org/wiki/Licensing/Nmap")) + (define openssl (license "OpenSSL" "http://directory.fsf.org/wiki/License:OpenSSL" @@ -266,6 +527,12 @@ which may be a file:// URI pointing the package's tree." "https://www.gnu.org/licenses/license-list#newOpenLDAP")) ;; lists OpenLDAPv2.7, which is virtually identical +(define perl-license + ;; The license of Perl, GPLv1+ or Artistic (we ignore the latter here). + ;; We define this alias to avoid circular dependencies introduced by the use + ;; of the '(package-license perl)' idiom. + gpl1+) + (define psfl (license "Python Software Foundation License" "http://docs.python.org/license.html" @@ -281,21 +548,62 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:QPLv1.0" "http://www.gnu.org/licenses/license-list.html#QPL")) +(define repoze + (license "Repoze" + "http://repoze.org/LICENSE.txt" + "A BSD-like license with a clause requiring all changes to be + attributed by author and date.")) + (define ruby (license "Ruby License" "http://directory.fsf.org/wiki/License:Ruby" "https://www.ruby-lang.org/en/about/license.txt")) +(define sgifreeb2.0 + (license "SGI Free Software License B, version 2.0" + "http://directory.fsf.org/wiki/License:SGIFreeBv2" + "https://www.gnu.org/licenses/license-list.html#SGIFreeB")) + (define silofl1.1 (license "SIL OFL 1.1" "http://scripts.sil.org/OFL_web" "https://www.gnu.org/licenses/license-list#SILOFL")) +(define sleepycat + (license "Sleepycat" + "http://directory.fsf.org/wiki/License:Sleepycat" + "https://www.gnu.org/licenses/license-list#BerkeleyDB")) + +(define tcl/tk + (license "Tcl/Tk" + "http://www.tcl.tk/software/tcltk/license.html" + "A non-copyleft free software license from the Tcl/Tk project")) + (define vim (license "Vim" "http://directory.fsf.org/wiki/License:Vim7.2" "http://www.gnu.org/licenses/license-list.html#Vim")) +(define unlicense + (license "Unlicense" + "https://unlicense.org/" + "https://www.gnu.org/licenses/license-list.html#Unlicense")) + +(define w3c + (license "W3C Software Notice and License" + "https://directory.fsf.org/wiki/License:W3C_31Dec2002" + "https://www.gnu.org/licenses/license-list.en.html#W3C")) + +(define wtfpl2 + (license "WTFPL 2" + "http://www.wtfpl.net" + "http://www.wtfpl.net/about/")) + +(define wxwindows3.1+ + (license "wxWindows 3.1+" + "https://wxwidgets.org/about/licence" + "https://www.gnu.org/licenses/license-list.html#Wxwind")) + (define x11 (license "X11" "http://directory.fsf.org/wiki/License:X11" @@ -311,11 +619,21 @@ which may be a file:// URI pointing the package's tree." "Check the URI for details. " comment))) +(define zpl2.1 + (license "Zope Public License 2.1" + "http://directory.fsf.org/wiki?title=License:ZopePLv2.1" + "https://www.gnu.org/licenses/license-list.html#Zope2.0")) + (define zlib (license "Zlib" "http://www.gzip.org/zlib/zlib_license.html" "https://www.gnu.org/licenses/license-list#ZLib")) +(define hpnd + (license "HPND" + "https://directory.fsf.org/wiki/License:HPND" + "https://www.gnu.org/licenses/license-list#HPND")) + (define* (fsf-free uri #:optional (comment "")) "Return a license that does not fit any of the ones above or a collection of licenses, approved as free by the FSF. More details can be found at URI." @@ -323,4 +641,13 @@ of licenses, approved as free by the FSF. More details can be found at URI." uri comment)) +(define* (fsdg-compatible uri #:optional (comment "")) + "Return a license that does not fit any of the ones above or a collection +of licenses, not necessarily free, but in accordance with FSDG as Non-functional +Data. More details can be found at URI. See also +https://www.gnu.org/distros/free-system-distribution-guidelines.en.html#non-functional-data." + (license "FSDG-compatible" + uri + comment)) + ;;; licenses.scm ends here