gnu: Add spoon.
[jackhill/guix/guix.git] / guix / licenses.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
b3345dc4 2;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
6d5e7ef3 3;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
e2034de5 4;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
e5c35d9a 5;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
dee38b7b 6;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
ea4a0e81 7;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
aaa49e8c 8;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
ca9eb489 9;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
a10bf139 10;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
7e67fdd1 11;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
838d78e3 12;;;
233e7676 13;;; This file is part of GNU Guix.
838d78e3 14;;;
233e7676 15;;; GNU Guix is free software; you can redistribute it and/or modify it
838d78e3
NK
16;;; under the terms of the GNU General Public License as published by
17;;; the Free Software Foundation; either version 3 of the License, or (at
18;;; your option) any later version.
19;;;
233e7676 20;;; GNU Guix is distributed in the hope that it will be useful, but
838d78e3
NK
21;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23;;; GNU General Public License for more details.
24;;;
25;;; You should have received a copy of the GNU General Public License
233e7676 26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
838d78e3
NK
27
28(define-module (guix licenses)
29 #:use-module (srfi srfi-9)
30 #:export (license? license-name license-uri license-comment
59b20347 31 agpl1 agpl3 agpl3+
f88ce395 32 asl1.1 asl2.0
838d78e3 33 boost1.0
b3345dc4
LC
34 bsd-2 bsd-3 bsd-4
35 non-copyleft
36 bsd-style ;deprecated!
71639e1f 37 cc0
a10bf139 38 cc-by2.0 cc-by3.0 cc-by-sa2.0 cc-by-sa3.0 cc-by-sa4.0
838d78e3 39 cddl1.0
c711f07c 40 cecill-c
f8e36623 41 artistic2.0 clarified-artistic
0eed5501 42 copyleft-next
838d78e3
NK
43 cpl1.0
44 epl1.0
f15b31c5 45 expat
b387a1c5 46 freetype
7e67fdd1 47 freebsd-doc
921d9dc7 48 giftware
f15b31c5 49 gpl1 gpl1+ gpl2 gpl2+ gpl3 gpl3+
dee38b7b 50 gfl1.0
b58691fa 51 fdl1.1+ fdl1.2+ fdl1.3+
c058f4ec 52 opl1.0+
b1426f17 53 isc
838d78e3
NK
54 ijg
55 ibmpl1.0
8835aed4 56 imlib2
6d5e7ef3 57 ipa
f15b31c5 58 lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
ea4a0e81 59 mpl1.0 mpl1.1 mpl2.0
fdbb9ded 60 ms-pl
499cdcc6 61 ncsa
dcd19c0a 62 nmap
1ca98280 63 openldap2.8 openssl
e2034de5 64 psfl public-domain
d192efae 65 qpl
0db71dd2 66 repoze
6ef8c59a 67 ruby
e5c35d9a 68 sgifreeb2.0
d9e56454 69 silofl1.1
2824146b 70 sleepycat
d29f6470 71 tcl/tk
aaa49e8c 72 unlicense
99e6c1b1 73 vim
bbd60260 74 x11 x11-style
4a4dac20 75 zpl2.1
6d36a6f3
AE
76 zlib
77 fsf-free))
838d78e3
NK
78
79(define-record-type <license>
80 (license name uri comment)
81 license?
82 (name license-name)
83 (uri license-uri)
84 (comment license-comment))
85
86;;; Commentary:
87;;;
88;;; Available licenses.
89;;;
90;;; This list is based on these links:
ca534666 91;;; https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix
838d78e3
NK
92;;; https://www.gnu.org/licenses/license-list
93;;;
94;;; Code:
95
59b20347
DC
96(define agpl1
97 (license "AGPL 1"
98 "https://gnu.org/licenses/agpl.html"
99 "https://gnu.org/licenses/why-affero-gpl.html"))
100
ef7cf291
NK
101(define agpl3
102 (license "AGPL 3"
103 "https://gnu.org/licenses/agpl.html"
104 "https://gnu.org/licenses/why-affero-gpl.html"))
105
106(define agpl3+
107 (license "AGPL 3+"
108 "https://gnu.org/licenses/agpl.html"
109 "https://gnu.org/licenses/why-affero-gpl.html"))
110
f88ce395
RJ
111(define asl1.1
112 (license "ASL 1.1"
113 "http://directory.fsf.org/wiki/License:Apache1.1"
114 "https://www.gnu.org/licenses/license-list#apache1"))
115
838d78e3
NK
116(define asl2.0
117 (license "ASL 2.0"
118 "http://directory.fsf.org/wiki/License:Apache2.0"
119 "https://www.gnu.org/licenses/license-list#apache2"))
120
121(define boost1.0
122 (license "Boost 1.0"
123 "http://directory.fsf.org/wiki/License:Boost1.0"
124 "https://www.gnu.org/licenses/license-list#boost"))
125
126(define bsd-2
127 (license "FreeBSD"
128 "http://directory.fsf.org/wiki/License:FreeBSD"
129 "https://www.gnu.org/licenses/license-list#FreeBSD"))
130
131(define bsd-3
132 (license "Modified BSD"
133 "http://directory.fsf.org/wiki/License:BSD_3Clause"
134 "https://www.gnu.org/licenses/license-list#ModifiedBSD"))
135
136(define bsd-4
137 (license "Original BSD"
138 "http://directory.fsf.org/wiki/License:BSD_4Clause"
139 "https://www.gnu.org/licenses/license-list#OriginalBSD"))
140
b3345dc4
LC
141(define* (non-copyleft uri #:optional (comment ""))
142 "Return a lax, permissive, non-copyleft license (for example a variant of
143the 3-clause BSD license or the Expat license), whose full text can be found
144at URI, which may be a file:// URI pointing the package's tree."
145 (license "non-copyleft"
f15b31c5
NK
146 uri
147 (string-append
b3345dc4 148 "This is a lax, non-copyleft free software license. "
f15b31c5
NK
149 "Check the URI for details. "
150 comment)))
151
b3345dc4
LC
152(define bsd-style
153 ;; This alias is kept for backward-compatibility. Do not use it for new
154 ;; packages: it is ambiguous, as rightfully explained at
155 ;; <http://www.gnu.org/philosophy/words-to-avoid.html#BSD-style>.
156 non-copyleft)
157
71639e1f
EB
158(define cc0
159 (license "CC0"
160 "http://directory.fsf.org/wiki/License:CC0"
161 "http://www.gnu.org/licenses/license-list.html#CC0"))
162
12abc6e3
LC
163(define cc-by-sa4.0
164 (license "CC-BY-SA 4.0"
165 "http://creativecommons.org/licenses/by-sa/4.0/"
166 "Creative Commons Attribution-ShareAlike 4.0 International"))
167
b7fa2f93
RW
168(define cc-by-sa3.0
169 (license "CC-BY-SA 3.0"
170 "http://creativecommons.org/licenses/by-sa/3.0/"
171 "Creative Commons Attribution-ShareAlike 3.0 Unported"))
172
a10bf139
RS
173(define cc-by-sa2.0
174 (license "CC-BY-SA 2.0"
175 "http://creativecommons.org/licenses/by-sa/2.0/"
176 "Creative Commons Attribution-ShareAlike 2.0 Generic"))
177
12abc6e3
LC
178(define cc-by3.0
179 (license "CC-BY 3.0"
180 "http://creativecommons.org/licenses/by/3.0/"
181 "Creative Commons Attribution 3.0 Unported"))
182
a10bf139
RS
183(define cc-by2.0
184 (license "CC-BY 2.0"
185 "http://creativecommons.org/licenses/by/2.0/"
186 "Creative Commons Attribution 2.0 Generic"))
187
838d78e3
NK
188(define cddl1.0
189 (license "CDDL 1.0"
190 "http://directory.fsf.org/wiki/License:CDDLv1.0"
191 "https://www.gnu.org/licenses/license-list#CDDL"))
192
c711f07c
EB
193(define cecill-c
194 (license "CeCILL-C"
195 "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
196 "https://www.gnu.org/licenses/license-list.html#CeCILL"))
197
f8e36623
EB
198(define artistic2.0
199 (license "Artistic License 2.0"
200 "http://www.perlfoundation.org/artistic_license_2_0"
201 "http://www.gnu.org/licenses/license-list.html#ArtisticLicense2"))
202
af8c2a15
LC
203(define clarified-artistic
204 (license "Clarified Artistic"
205 ;; http://directory.fsf.org/wiki/User:Jgay/license-categorization#Clarified_Artistic_License
206 "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/"
207 "https://www.gnu.org/licenses/license-list.html#ArtisticLicense2"))
208
0eed5501
LC
209(define copyleft-next
210 (license "copyleft-next"
211 "https://raw.github.com/richardfontana/copyleft-next/master/Releases/copyleft-next-0.3.0"
212 "GPL-compatible copyleft license"))
213
838d78e3
NK
214(define cpl1.0
215 (license "CPL 1.0"
216 "http://directory.fsf.org/wiki/License:CPLv1.0"
217 "https://www.gnu.org/licenses/license-list#CommonPublicLicense10"))
218
219(define epl1.0
220 (license "EPL 1.0"
221 "http://directory.fsf.org/wiki/License:EPLv1.0"
222 "https://www.gnu.org/licenses/license-list#EPL"))
223
f15b31c5
NK
224(define expat
225 (license "Expat"
226 "http://directory.fsf.org/wiki/License:Expat"
227 "https://www.gnu.org/licenses/license-list.html#Expat"))
228
b387a1c5
AE
229(define freetype
230 (license "Freetype"
231 "http://directory.fsf.org/wiki/License:Freetype"
232 "https://www.gnu.org/licenses/license-list.html#freetype"))
233
921d9dc7
DT
234(define giftware
235 (license "Giftware"
236 "http://liballeg.org/license.html"
237 "The Allegro 4 license"))
238
f15b31c5
NK
239(define gpl1
240 (license "GPL 1"
241 "https://www.gnu.org/licenses/old-licenses/gpl-1.0.html"
242 #f))
243
244(define gpl1+
245 (license "GPL 1+"
246 "https://www.gnu.org/licenses/old-licenses/gpl-1.0.html"
247 #f))
248
838d78e3
NK
249(define gpl2
250 (license "GPL 2"
251 "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
252 "https://www.gnu.org/licenses/license-list#GPLv2"))
253
254(define gpl2+
255 (license "GPL 2+"
256 "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
257 "https://www.gnu.org/licenses/license-list#GPLv2"))
258
259(define gpl3
260 (license "GPL 3"
261 "https://www.gnu.org/licenses/gpl.html"
262 "https://www.gnu.org/licenses/license-list#GNUGPLv3"))
263
264(define gpl3+
265 (license "GPL 3+"
266 "https://www.gnu.org/licenses/gpl.html"
267 "https://www.gnu.org/licenses/license-list#GNUGPLv3"))
268
dee38b7b
RW
269;; The “GUST font license” is legally equivalent to LPPL v1.3c as it only
270;; extends the LPPL with an optional request.
271(define gfl1.0
272 (license "GUST font license 1.0"
273 "http://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt"
274 "https://www.gnu.org/licenses/license-list#LPPL-1.3a"))
275
ca9eb489
FH
276(define fdl1.1+
277 (license "FDL 1.1+"
278 "https://www.gnu.org/licenses/fdl-1.1"
279 "https://www.gnu.org/licenses/license-list#FDL"))
280
59b20347
DC
281(define fdl1.2+
282 (license "FDL 1.2+"
283 "https://www.gnu.org/licenses/fdl-1.2"
284 "https://www.gnu.org/licenses/license-list#FDL"))
285
66ea6713
LC
286(define fdl1.3+
287 (license "FDL 1.3+"
288 "https://www.gnu.org/licenses/fdl.html"
289 "https://www.gnu.org/licenses/license-list#FDL"))
290
7e67fdd1 291(define freebsd-doc
292 (license "FreeBSD Documentation License"
293 "https://www.freebsd.org/copyright/freebsd-doc-license.html"
294 "https://www.gnu.org/licenses/license-list.html#FreeBSDDL"))
295
c058f4ec
MW
296(define opl1.0+
297 (license "Open Publication License 1.0 or later"
298 "http://opencontent.org/openpub/"
299 "https://www.gnu.org/licenses/license-list#OpenPublicationL"))
300
b1426f17
CR
301(define isc
302 (license "ISC"
303 "http://directory.fsf.org/wiki/License:ISC"
304 "https://www.gnu.org/licenses/license-list.html#ISC"))
305
838d78e3
NK
306(define ijg
307 (license "IJG"
308 "http://directory.fsf.org/wiki/License:JPEG"
309 "https://www.gnu.org/licenses/license-list#ijg"))
310
311(define ibmpl1.0
312 (license "IBMPL 1.0"
313 "http://directory.fsf.org/wiki/License:IBMPLv1.0"
314 "https://www.gnu.org/licenses/license-list#IBMPL"))
315
8835aed4
AK
316(define imlib2
317 (license "Imlib2"
318 "http://directory.fsf.org/wiki/License:Imlib2"
319 "https://www.gnu.org/licenses/license-list#imlib"))
320
6d5e7ef3
AE
321(define ipa
322 (license "IPA Font License"
323 "http://directory.fsf.org/wiki/License:IPA_Font_License"
324 "https://www.gnu.org/licenses/license-list#IPAFONT"))
325
f15b31c5
NK
326(define lgpl2.0
327 (license "LGPL 2.0"
328 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html"
329 "https://www.gnu.org/licenses/why-not-lgpl.html"))
330
331(define lgpl2.0+
332 (license "LGPL 2.0+"
333 "https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html"
334 "https://www.gnu.org/licenses/why-not-lgpl.html"))
335
838d78e3
NK
336(define lgpl2.1
337 (license "LGPL 2.1"
338 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
339 "https://www.gnu.org/licenses/license-list#LGPLv2.1"))
340
341(define lgpl2.1+
342 (license "LGPL 2.1+"
343 "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
344 "https://www.gnu.org/licenses/license-list#LGPLv2.1"))
345
346(define lgpl3
347 (license "LGPL 3"
348 "https://www.gnu.org/licenses/lgpl.html"
349 "https://www.gnu.org/licenses/license-list#LGPLv3"))
350
351(define lgpl3+
352 (license "LGPL 3+"
353 "https://www.gnu.org/licenses/lgpl.html"
354 "https://www.gnu.org/licenses/license-list#LGPLv3"))
355
ea4a0e81
EB
356(define mpl1.0
357 (license "MPL 1.0"
358 "http://www.mozilla.org/MPL/1.0/"
359 "https://www.gnu.org/licenses/license-list.html#MPL"))
360
0ae332d3
LC
361(define mpl1.1
362 (license "MPL 1.1"
363 "http://directory.fsf.org/wiki/License:MPLv1.1"
364 "https://www.gnu.org/licenses/license-list#MPL"))
365
838d78e3
NK
366(define mpl2.0
367 (license "MPL 2.0"
368 "http://directory.fsf.org/wiki/License:MPLv2.0"
369 "https://www.gnu.org/licenses/license-list#MPL-2.0"))
370
fdbb9ded
LC
371(define ms-pl
372 (license "Ms-PL" ;Microsoft Public License
373 "http://directory.fsf.org/wiki/License:MsPL"
374 "http://www.gnu.org/licenses/license-list.html#ms-pl"))
375
499cdcc6
EB
376(define ncsa
377 (license "NCSA/University of Illinois Open Source License"
378 "http://directory.fsf.org/wiki/License:IllinoisNCSA"
379 "https://www.gnu.org/licenses/license-list#NCSA"))
380
dcd19c0a
LF
381(define nmap
382 (license "Nmap license"
383 "https://svn.nmap.org/nmap/COPYING"
384 "https://fedoraproject.org/wiki/Licensing/Nmap"))
385
838d78e3
NK
386(define openssl
387 (license "OpenSSL"
388 "http://directory.fsf.org/wiki/License:OpenSSL"
389 "https://www.gnu.org/licenses/license-list#OpenSSL"))
390
1ca98280
AE
391(define openldap2.8
392 (license "OpenLDAPv2.8"
393 "http://directory.fsf.org/wiki/License:OpenLDAPv2.8"
394 "https://www.gnu.org/licenses/license-list#newOpenLDAP"))
395 ;; lists OpenLDAPv2.7, which is virtually identical
396
e2034de5
NK
397(define psfl
398 (license "Python Software Foundation License"
399 "http://docs.python.org/license.html"
400 #f))
401
838d78e3
NK
402(define public-domain
403 (license "Public Domain"
404 "http://directory.fsf.org/wiki/License:PublicDomain"
405 "https://www.gnu.org/licenses/license-list#PublicDomain"))
406
d192efae
CR
407(define qpl
408 (license "QPL"
409 "http://directory.fsf.org/wiki/License:QPLv1.0"
410 "http://www.gnu.org/licenses/license-list.html#QPL"))
411
0db71dd2
LF
412(define repoze
413 (license "Repoze"
414 "http://repoze.org/LICENSE.txt"
415 "A BSD-like license with a clause requiring all changes to be
416 attributed by author and date."))
417
6ef8c59a
PP
418(define ruby
419 (license "Ruby License"
420 "http://directory.fsf.org/wiki/License:Ruby"
421 "https://www.ruby-lang.org/en/about/license.txt"))
422
e5c35d9a
MW
423(define sgifreeb2.0
424 (license "SGI Free Software License B, version 2.0"
425 "http://directory.fsf.org/wiki/License:SGIFreeBv2"
426 "https://www.gnu.org/licenses/license-list.html#SGIFreeB"))
427
d9e56454
AK
428(define silofl1.1
429 (license "SIL OFL 1.1"
430 "http://scripts.sil.org/OFL_web"
431 "https://www.gnu.org/licenses/license-list#SILOFL"))
432
2824146b
RW
433(define sleepycat
434 (license "Sleepycat"
435 "http://directory.fsf.org/wiki/License:Sleepycat"
436 "https://www.gnu.org/licenses/license-list#BerkeleyDB"))
437
d29f6470
JN
438(define tcl/tk
439 (license "Tcl/Tk"
440 "http://www.tcl.tk/software/tcltk/license.html"
441 "A non-copyleft free software license from the Tcl/Tk project"))
442
99e6c1b1
AE
443(define vim
444 (license "Vim"
445 "http://directory.fsf.org/wiki/License:Vim7.2"
446 "http://www.gnu.org/licenses/license-list.html#Vim"))
447
aaa49e8c
LF
448(define unlicense
449 (license "Unlicense"
450 "https://unlicense.org/"
451 "https://www.gnu.org/licenses/license-list.html#Unlicense"))
452
838d78e3
NK
453(define x11
454 (license "X11"
455 "http://directory.fsf.org/wiki/License:X11"
456 "https://www.gnu.org/licenses/license-list#X11License"))
457
bbd60260
NK
458(define* (x11-style uri #:optional (comment ""))
459 "Return an X11-style license, whose full text can be found at URI,
460which may be a file:// URI pointing the package's tree."
461 (license "X11-style"
462 uri
463 (string-append
464 "This is an X11-style, non-copyleft free software license. "
465 "Check the URI for details. "
466 comment)))
467
4a4dac20
RW
468(define zpl2.1
469 (license "Zope Public License 2.1"
470 "http://directory.fsf.org/wiki?title=License:ZopePLv2.1"
471 "https://www.gnu.org/licenses/license-list.html#Zope2.0"))
472
838d78e3
NK
473(define zlib
474 (license "Zlib"
475 "http://www.gzip.org/zlib/zlib_license.html"
476 "https://www.gnu.org/licenses/license-list#ZLib"))
477
6d36a6f3
AE
478(define* (fsf-free uri #:optional (comment ""))
479 "Return a license that does not fit any of the ones above or a collection
480of licenses, approved as free by the FSF. More details can be found at URI."
481 (license "FSF-free"
482 uri
483 comment))
484
838d78e3 485;;; licenses.scm ends here