gnu: Add java-iq80-snappy.
[jackhill/guix/guix.git] / guix / licenses.scm
index 157e74b..6de611d 100644 (file)
@@ -1,7 +1,18 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
+;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
+;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 (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
+            bsd-style                             ;deprecated!
             cc0
+            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
-            cecill-c
+            cecill cecill-b cecill-c
             artistic2.0 clarified-artistic
+            copyleft-next
             cpl1.0
+            edl1.0
             epl1.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
             ipa
+            knuth
             lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
-            mpl1.1 mpl2.0
+            lppl lppl1.0+ 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
             x11 x11-style
+            zpl2.1
             zlib
-            fsf-free))
+            fsf-free
+            wtfpl2
+            fsdg-compatible))
 
 (define-record-type <license>
   (license name uri comment)
 ;;;
 ;;; 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"
            "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"
            "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)))
 
+(define bsd-style
+  ;; This alias is kept for backward-compatibility.  Do not use it for new
+  ;; packages: it is ambiguous, as rightfully explained at
+  ;; <http://www.gnu.org/philosophy/words-to-avoid.html#BSD-style>.
+  non-copyleft)
+
 (define cc0
   (license "CC0"
            "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
+(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"))
@@ -141,11 +243,21 @@ which may be a file:// URI pointing the package's tree."
            "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"
@@ -161,6 +273,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"
@@ -191,11 +308,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"
@@ -221,6 +365,11 @@ which may be a file:// URI pointing the package's tree."
            "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"
@@ -251,6 +400,76 @@ 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 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.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"
@@ -261,11 +480,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"
@@ -277,6 +506,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"
@@ -292,21 +527,52 @@ 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 wtfpl2
+  (license "WTFPL 2"
+           "http://www.wtfpl.net"
+           "http://www.wtfpl.net/about/"))
+
 (define x11
   (license "X11"
            "http://directory.fsf.org/wiki/License:X11"
@@ -322,6 +588,11 @@ 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"
@@ -334,4 +605,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