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