3 lib.mapAttrs (lname: lset: let
6 free = true; # Most of our licenses are Free, explicitly declare unfree additions as such!
10 mkLicense = licenseDeclaration: let
11 applyDefaults = license: defaultLicense // license;
14 then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; }
16 applyRedistributable = license: { redistributable = license.free; } // license;
17 in lib.pipe licenseDeclaration [
23 /* License identifiers from spdx.org where possible.
24 * If you cannot find your license here, then look for a similar license or
25 * add it to this list. The URL mentioned above is a good source for inspiration.
30 fullName = "Abstyles License";
34 fullName = "Anti-Capitalist Software License v1.4";
35 url = "https://anticapitalist.software/";
36 /* restrictions on corporations apply for both use and redistribution */
38 redistributable = false;
42 # https://doomwiki.org/wiki/Raven_source_code_licensing
43 fullName = "Activision EULA";
44 url = "https://www.doomworld.com/eternity/activision_eula.txt";
50 fullName = "Academic Free License v2.0";
55 fullName = "Academic Free License v2.1";
60 fullName = "Academic Free License v3.0";
64 spdxId = "AGPL-3.0-only";
65 fullName = "GNU Affero General Public License v3.0 only";
69 spdxId = "AGPL-3.0-or-later";
70 fullName = "GNU Affero General Public License v3.0 or later";
75 fullName = "Aladdin Free Public License";
80 fullName = "Amazon Software License";
81 url = "https://aws.amazon.com/asl/";
86 fullName = "AMD License Agreement";
87 url = "https://developer.amd.com/amd-license-agreement/";
92 fullName = "Alliance for Open Media Patent License 1.0";
93 url = "https://aomedia.org/license/patent-license/";
98 fullName = "Apple Public Source License 1.0";
103 fullName = "Apple Public Source License 2.0";
107 spdxId = "Arphic-1999";
108 fullName = "Arphic Public License";
109 url = "https://www.freedesktop.org/wiki/Arphic_Public_License/";
113 spdxId = "Artistic-1.0";
114 fullName = "Artistic License 1.0";
118 spdxId = "Artistic-1.0-cl8";
119 fullName = "Artistic License 1.0 w/clause 8";
123 spdxId = "Artistic-2.0";
124 fullName = "Artistic License 2.0";
128 spdxId = "Apache-2.0";
129 fullName = "Apache License 2.0";
133 spdxId = "Apache-2.0 WITH LLVM-exception";
134 fullName = "Apache License 2.0 with LLVM Exceptions";
138 spdxId = "Bitstream-Vera";
139 fullName = "Bitstream Vera Font License";
143 spdxId = "BitTorrent-1.0";
144 fullName = " BitTorrent Open Source License v1.0";
148 spdxId = "BitTorrent-1.1";
149 fullName = " BitTorrent Open Source License v1.1";
153 url = "https://blitiri.com.ar/p/bola/";
154 fullName = "Buena Onda License Agreement 1.1";
159 fullName = "Boost Software License 1.0";
164 fullName = "Beerware License";
168 spdxId = "BlueOak-1.0.0";
169 fullName = "Blue Oak Model License 1.0.0";
174 fullName = "BSD Zero Clause License";
178 spdxId = "BSD-1-Clause";
179 fullName = "BSD 1-Clause License";
183 spdxId = "BSD-2-Clause";
184 fullName = ''BSD 2-clause "Simplified" License'';
188 spdxId = "BSD-2-Clause-Patent";
189 fullName = "BSD-2-Clause Plus Patent License";
193 spdxId = "BSD-2-Clause-Views";
194 fullName = "BSD 2-Clause with views sentence";
198 spdxId = "BSD-3-Clause";
199 fullName = ''BSD 3-clause "New" or "Revised" License'';
203 spdxId = "BSD-3-Clause-Clear";
204 fullName = "BSD 3-Clause Clear License";
208 spdxId = "BSD-4-Clause";
209 fullName = ''BSD 4-clause "Original" or "Old" License'';
212 bsdOriginalShortened = {
213 spdxId = "BSD-4-Clause-Shortened";
214 fullName = "BSD 4 Clause Shortened";
218 spdxId = "BSD-4-Clause-UC";
219 fullName = "BSD 4-Clause University of California-Specific";
223 spdxId = "BSD-Protection";
224 fullName = "BSD Protection License";
228 fullName = "Business Source License 1.1";
229 url = "https://mariadb.com/bsl11";
231 redistributable = true;
235 fullName = "Computer Associates Open Source Licence Version 1.0";
236 url = "http://jxplorer.org/licence.html";
241 fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)";
242 url = "https://opensource.org/licenses/CAL-1.0";
247 fullName = "Caldera License";
248 url = "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf";
252 fullName = "Common Attack Pattern Enumeration and Classification";
253 url = "https://capec.mitre.org/about/termsofuse.html";
257 spdxId = "ClArtistic";
258 fullName = "Clarified Artistic License";
263 fullName = "Creative Commons Zero v1.0 Universal";
267 spdxId = "CC-BY-NC-ND-3.0";
268 fullName = "Creative Commons Attribution Non Commercial No Derivative Works 3.0 Unported";
273 spdxId = "CC-BY-NC-ND-4.0";
274 fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International";
279 spdxId = "CC-BY-NC-SA-2.0";
280 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0";
285 spdxId = "CC-BY-NC-SA-2.5";
286 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5";
291 spdxId = "CC-BY-NC-SA-3.0";
292 fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0";
297 spdxId = "CC-BY-NC-SA-4.0";
298 fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0";
303 spdxId = "CC-BY-NC-3.0";
304 fullName = "Creative Commons Attribution Non Commercial 3.0 Unported";
309 spdxId = "CC-BY-NC-4.0";
310 fullName = "Creative Commons Attribution Non Commercial 4.0 International";
315 spdxId = "CC-BY-ND-3.0";
316 fullName = "Creative Commons Attribution-No Derivative Works v3.00";
321 spdxId = "CC-BY-SA-1.0";
322 fullName = "Creative Commons Attribution Share Alike 1.0";
326 spdxId = "CC-BY-SA-2.0";
327 fullName = "Creative Commons Attribution Share Alike 2.0";
331 spdxId = "CC-BY-SA-2.5";
332 fullName = "Creative Commons Attribution Share Alike 2.5";
336 spdxId = "CC-BY-1.0";
337 fullName = "Creative Commons Attribution 1.0";
341 spdxId = "CC-BY-2.0";
342 fullName = "Creative Commons Attribution 2.0";
346 spdxId = "CC-BY-3.0";
347 fullName = "Creative Commons Attribution 3.0";
351 spdxId = "CC-BY-SA-3.0";
352 fullName = "Creative Commons Attribution Share Alike 3.0";
356 spdxId = "CC-BY-4.0";
357 fullName = "Creative Commons Attribution 4.0";
361 spdxId = "CC-BY-SA-4.0";
362 fullName = "Creative Commons Attribution Share Alike 4.0";
367 fullName = "Common Development and Distribution License 1.0";
371 spdxId = "CECILL-2.0";
372 fullName = "CeCILL Free Software License Agreement v2.0";
376 spdxId = "CECILL-2.1";
377 fullName = "CeCILL Free Software License Agreement v2.1";
382 fullName = "CeCILL-B Free Software License Agreement";
387 fullName = "CeCILL-C Free Software License Agreement";
392 fullName = "Common Public Attribution License 1.0";
397 fullName = "Common Public License 1.0";
402 fullName = "curl License";
407 fullName = "DOC License";
412 fullName = "Detection Rule License 1.0";
417 fullName = "dtoa License";
421 fullName = "EPSON AVASYS PUBLIC LICENSE";
422 url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm";
427 fullName = "Educational Community License, Version 2.0";
428 url = "https://opensource.org/licenses/ECL-2.0";
429 shortName = "ECL 2.0";
435 fullName = "Eiffel Forum License v1.0";
440 fullName = "Eiffel Forum License v2.0";
444 spdxId = "Elastic-2.0";
445 fullName = "Elastic License 2.0";
446 url = "https://github.com/elastic/elasticsearch/blob/main/licenses/ELASTIC-LICENSE-2.0.txt";
452 fullName = "Eclipse Public License 1.0";
457 fullName = "Eclipse Public License 2.0";
461 fullName = "Seiko Epson Corporation Software License Agreement for Linux";
462 url = "https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html";
468 fullName = "European Union Public License 1.1";
473 fullName = "European Union Public License 1.2";
477 spdxId = "GFDL-1.1-only";
478 fullName = "GNU Free Documentation License v1.1 only";
482 spdxId = "GFDL-1.1-or-later";
483 fullName = "GNU Free Documentation License v1.1 or later";
487 spdxId = "GFDL-1.2-only";
488 fullName = "GNU Free Documentation License v1.2 only";
492 spdxId = "GFDL-1.2-or-later";
493 fullName = "GNU Free Documentation License v1.2 or later";
497 spdxId = "GFDL-1.3-only";
498 fullName = "GNU Free Documentation License v1.3 only";
502 spdxId = "GFDL-1.3-or-later";
503 fullName = "GNU Free Documentation License v1.3 or later";
507 fullName = "Floodgap Free Software License";
508 url = "https://www.floodgap.com/software/ffsl/license.html";
513 fullName = "Fraunhofer FDK AAC Codec Library";
518 fullName = "Unspecified free software license";
523 fullName = "Freetype Project License";
527 fullName = "Geant4 Software License";
528 url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html";
532 fullName = "GeoGebra Non-Commercial License Agreement";
533 url = "https://www.geogebra.org/license";
538 fullName = "GeneralUser GS License v2.0";
539 url = "https://www.schristiancollins.com/generaluser.php"; # license included in sources
543 fullName = "GUST Font License";
544 url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt";
548 fullName = "GUST Font Source License";
549 url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-SOURCE-LICENSE.txt";
553 spdxId = "GPL-1.0-only";
554 fullName = "GNU General Public License v1.0 only";
558 spdxId = "GPL-1.0-or-later";
559 fullName = "GNU General Public License v1.0 or later";
563 spdxId = "GPL-2.0-only";
564 fullName = "GNU General Public License v2.0 only";
568 spdxId = "GPL-2.0-with-classpath-exception";
569 fullName = "GNU General Public License v2.0 only (with Classpath exception)";
572 gpl2ClasspathPlus = {
573 fullName = "GNU General Public License v2.0 or later (with Classpath exception)";
574 url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
578 fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
579 url = "https://www.mysql.com/about/legal/licensing/foss-exception";
583 spdxId = "GPL-2.0-or-later";
584 fullName = "GNU General Public License v2.0 or later";
588 spdxId = "GPL-3.0-only";
589 fullName = "GNU General Public License v3.0 only";
593 spdxId = "GPL-3.0-or-later";
594 fullName = "GNU General Public License v3.0 or later";
597 gpl3ClasspathPlus = {
598 fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
599 url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
604 fullName = "Historic Permission Notice and Disclaimer";
608 fullName = "Historical Permission Notice and Disclaimer - sell variant";
609 spdxId = "HPND-sell-variant";
612 # Intel's license, seems free
614 spdxId = "Intel-ACPI";
616 url = "https://old.calculate-linux.org/packages/licenses/iASL";
621 fullName = "Independent JPEG Group License";
625 fullName = "ImageMagick License";
626 spdxId = "ImageMagick";
631 fullName = "Imlib2 License";
636 fullName = "Info-ZIP License";
637 url = "https://infozip.sourceforge.net/license.html";
641 fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler";
642 url = "https://compcert.org/doc/LICENSE.txt";
647 fullName = "End User License Agreement for IceSL Software";
648 url = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf";
653 fullName = "INRIA Non-Commercial License Agreement for the Zélus compiler";
654 url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE";
660 fullName = "IPA Font License";
665 fullName = "IBM Public License v1.0";
670 fullName = "ISC License";
673 # Proprietary binaries; free to redistribute without modification.
675 fullName = "Databricks Proprietary License";
676 url = "https://pypi.org/project/databricks-connect";
681 fullName = "DataBricks eXtensions aka dbx License";
682 url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE";
684 redistributable = false;
688 fullName = "Fair License";
694 fullName = "Fair Source License, version 0.9";
695 url = "https://fair.io/v0.9.txt";
697 redistributable = true;
701 fullName = "Hippocratic License v3.0";
702 url = "https://firstdonoharm.dev/version/3/0/core.txt";
704 redistributable = true;
708 fullName = "Intel Simplified Software License";
709 url = "https://software.intel.com/en-us/license/intel-simplified-software-license";
714 fullName = "Knuth CTAN License";
715 spdxId = "Knuth-CTAN";
720 fullName = "Licence Art Libre 1.2";
725 fullName = "Licence Art Libre 1.3";
729 fullName = "Lens Terms of Service Agreement";
730 url = "https://k8slens.dev/licenses/tos";
735 spdxId = "LGPL-2.0-only";
736 fullName = "GNU Library General Public License v2 only";
740 spdxId = "LGPL-2.0-or-later";
741 fullName = "GNU Library General Public License v2 or later";
745 spdxId = "LGPL-2.1-only";
746 fullName = "GNU Lesser General Public License v2.1 only";
750 spdxId = "LGPL-2.1-or-later";
751 fullName = "GNU Lesser General Public License v2.1 or later";
755 spdxId = "LGPL-3.0-only";
756 fullName = "GNU Lesser General Public License v3.0 only";
760 spdxId = "LGPL-3.0-or-later";
761 fullName = "GNU Lesser General Public License v3.0 or later";
766 fullName = "Lesser General Public License For Linguistic Resources";
771 fullName = "libpng License";
775 spdxId = "libpng-2.0"; # Used since libpng 1.6.36.
776 fullName = "PNG Reference Library version 2";
780 fullName = "libssh2 License";
781 url = "https://www.libssh2.org/license.html";
786 fullName = "libtiff License";
790 fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp";
791 url = "https://opensource.franz.com/preamble.html";
796 fullName = "LaTeX Project Public License v1.0";
801 fullName = "LaTeX Project Public License v1.2";
805 spdxId = "LPPL-1.3a";
806 fullName = "LaTeX Project Public License v1.3a";
810 spdxId = "LPPL-1.3c";
811 fullName = "LaTeX Project Public License v1.3c";
816 fullName = "Lucent Public License v1.02";
821 fullName = "MirOS License";
822 url = "https://opensource.org/licenses/MirOS";
825 # spdx.org does not (yet) differentiate between the X11 and Expat versions
826 # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions
829 fullName = "MIT License";
831 # https://spdx.org/licenses/MIT-feh.html
834 fullName = "feh License";
838 spdxId = "MIT-advertising";
839 fullName = "Enlightenment License (e16)";
844 fullName = "MIT No Attribution";
849 fullName = "Mozilla Public License 1.0";
854 fullName = "Mozilla Public License 1.1";
859 fullName = "Mozilla Public License 2.0";
864 fullName = "M+ Font License";
869 fullName = "Microsoft Public License";
873 spdxId = "MulanPSL-2.0";
874 fullName = "Mulan Permissive Software License, Version 2";
875 url = "https://license.coscl.org.cn/MulanPSL2";
880 fullName = "NASA Open Source Agreement 1.3";
886 fullName = "University of Illinois/NCSA Open Source License";
891 fullName = "Netdata Cloud UI License v1.0";
893 redistributable = true; # Only if used in Netdata products.
894 url = "https://raw.githubusercontent.com/netdata/netdata/master/web/gui/v2/LICENSE.md";
899 fullName = "No Limit Public License";
903 spdxId = "NPOSL-3.0";
904 fullName = "Non-Profit Open Software License 3.0";
908 shortName = "CUDA EULA";
909 fullName = "CUDA Toolkit End User License Agreement (EULA)";
910 url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement";
915 shortName = "CUDA EULA";
916 fullName = "CUDA Toolkit End User License Agreement (EULA)";
917 url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement";
919 redistributable = true;
923 fullName = "Obsidian End User Agreement";
924 url = "https://obsidian.md/eula";
928 ocamlLgplLinkingException = {
929 spdxId = "OCaml-LGPL-linking-exception";
930 fullName = "OCaml LGPL Linking Exception";
934 fullName = "OCamlPro Non Commercial license version 1";
935 url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf";
941 fullName = "Open Data Commons Open Database License v1.0";
946 fullName = "SIL Open Font License 1.1";
951 fullName = "Open Market License";
955 spdxId = "OLDAP-2.8";
956 fullName = "Open LDAP Public License v2.8";
961 fullName = "OpenSSL License";
965 spdxId = "OPUBL-1.0";
966 fullName = "Open Publication License v1.0";
971 fullName = "Open Software License 2.0";
976 fullName = "Open Software License 2.1";
981 fullName = "Open Software License 3.0";
985 spdxId = "Parity-7.0.0";
986 fullName = "Parity Public License 7.0.0";
987 url = "https://paritylicense.com/versions/7.0.0.html";
992 fullName = "PHP License v3.01";
996 spdxId = "PostgreSQL";
997 fullName = "PostgreSQL License";
1001 fullName = "Postman EULA";
1002 url = "https://www.getpostman.com/licenses/postman_base_app";
1007 spdxId = "Python-2.0";
1008 fullName = "Python Software Foundation License version 2";
1009 url = "https://docs.python.org/license.html";
1013 fullName = "Public Domain";
1017 fullName = " Purdue BSD-Style License"; # also know as lsof license
1018 url = "https://enterprise.dejacode.com/licenses/public/purdue-bsd";
1022 fullName = "Prosperity-3.0.0";
1024 url = "https://prosperitylicense.com/versions/3.0.0.html";
1029 fullName = "Qhull License";
1034 fullName = "Q Public License 1.0";
1038 fullName = "Qwt License, Version 1.0";
1039 url = "https://qwt.sourceforge.io/qwtlicense.html";
1044 fullName = "Ruby License";
1048 spdxId = "Sendmail";
1049 fullName = "Sendmail License";
1053 spdxId = "SGI-B-2.0";
1054 fullName = "SGI Free Software License B v2.0";
1057 # Gentoo seems to treat it as a license:
1058 # https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/SGMLUG?id=7d999af4a47bf55e53e54713d98d145f935935c1
1060 fullName = "SGML UG SGML Parser Materials license";
1064 spdxId = "Sleepycat";
1065 fullName = "Sleepycat License";
1069 shortName = "smail";
1070 fullName = "SMAIL General Public License";
1071 url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/";
1076 fullName = "Standard ML of New Jersey License";
1081 fullName = "Server Side Public License";
1082 url = "https://www.mongodb.com/licensing/server-side-public-license";
1085 # The license a slightly modified AGPL but still considered unfree by the
1086 # OSI for what seem like political reasons
1087 redistributable = true; # Definitely redistributable though, it's an AGPL derivative
1092 fullName = "Synthesis Tool Kit 4.3";
1093 url = "https://github.com/thestk/stk/blob/master/LICENSE";
1098 fullName = "Sudo License (ISC-style)";
1099 url = "https://www.sudo.ws/about/license/";
1103 shortName = "sustainable";
1104 fullName = "Sustainable Use License";
1105 url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md";
1107 redistributable = false; # only free to redistribute "for non-commercial purposes"
1112 fullName = "Timescale License Agreegment";
1113 url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE";
1119 fullName = "TCL/TK License";
1123 fullName = "Unicode Character Database License";
1124 url = "https://fedoraproject.org/wiki/Licensing:UCD";
1128 fullName = "Ubuntu Font License 1.0";
1129 url = "https://ubuntu.com/legal/font-licence";
1133 fullName = "Unfree";
1137 unfreeRedistributable = {
1138 fullName = "Unfree redistributable";
1140 redistributable = true;
1143 unfreeRedistributableFirmware = {
1144 fullName = "Unfree redistributable firmware";
1145 redistributable = true;
1146 # Note: we currently consider these "free" for inclusion in the
1147 # channel and NixOS images.
1150 unicode-dfs-2015 = {
1151 spdxId = "Unicode-DFS-2015";
1152 fullName = "Unicode License Agreement - Data Files and Software (2015)";
1155 unicode-dfs-2016 = {
1156 spdxId = "Unicode-DFS-2016";
1157 fullName = "Unicode License Agreement - Data Files and Software (2016)";
1161 spdxId = "Unlicense";
1162 fullName = "The Unlicense";
1167 fullName = "Universal Permissive License";
1168 url = "https://oss.oracle.com/licenses/upl/";
1173 fullName = "Vim License";
1177 fullName = "Oracle VM VirtualBox Extension Pack Personal Use and Evaluation License (PUEL)";
1178 url = "https://www.virtualbox.org/wiki/VirtualBox_PUEL";
1183 fullName = "Volatility Software License, Version 1.0";
1184 url = "https://www.volatilityfoundation.org/license/vsl-v1.0";
1189 fullName = "Vovida Software License v1.0";
1193 spdxId = "Watcom-1.0";
1194 fullName = "Sybase Open Watcom Public License 1.0";
1199 fullName = "W3C Software Notice and License";
1203 fullName = "Wadalab Font License";
1204 url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab";
1209 fullName = "Do What The F*ck You Want To Public License";
1213 spdxId = "wxWindows";
1214 fullName = "wxWindows Library Licence, Version 3.1";
1219 fullName = "X11 License";
1225 url = "https://mcj.sourceforge.net/authors.html#xfig";
1230 fullName = "xinetd License";
1235 fullName = "zlib License";
1240 fullName = "Zope Public License 2.0";
1245 fullName = "Zope Public License 2.1";
1250 fullName = "XSkat License";
1253 # TODO: remove legacy aliases
1255 spdxId = "AGPL-3.0";
1256 fullName = "GNU Affero General Public License v3.0";
1261 fullName = "GNU General Public License v2.0";
1266 fullName = "GNU General Public License v3.0";
1270 spdxId = "LGPL-2.0";
1271 fullName = "GNU Library General Public License v2";
1275 spdxId = "LGPL-2.1";
1276 fullName = "GNU Lesser General Public License v2.1";
1280 spdxId = "LGPL-3.0";
1281 fullName = "GNU Lesser General Public License v3.0";