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