Merge pull request #130862 from Atemu/licenses-redistributable-attr

lib.licenses: cleanup, consistency and redistributable attribute

authored by

Kevin Cox and committed by
GitHub
5059cdaa 9a9056da

+156 -138
+156 -138
lib/licenses.nix
··· 1 { lib }: 2 - let 3 4 - spdx = lic: lic // { 5 - url = "https://spdx.org/licenses/${lic.spdxId}.html"; 6 }; 7 8 - in 9 - 10 - lib.mapAttrs (n: v: v // { shortName = n; }) ({ 11 /* License identifiers from spdx.org where possible. 12 * If you cannot find your license here, then look for a similar license or 13 * add it to this list. The URL mentioned above is a good source for inspiration. 14 */ 15 16 - abstyles = spdx { 17 spdxId = "Abstyles"; 18 fullName = "Abstyles License"; 19 }; 20 21 - afl20 = spdx { 22 spdxId = "AFL-2.0"; 23 fullName = "Academic Free License v2.0"; 24 }; 25 26 - afl21 = spdx { 27 spdxId = "AFL-2.1"; 28 fullName = "Academic Free License v2.1"; 29 }; 30 31 - afl3 = spdx { 32 spdxId = "AFL-3.0"; 33 fullName = "Academic Free License v3.0"; 34 }; 35 36 - agpl3Only = spdx { 37 spdxId = "AGPL-3.0-only"; 38 fullName = "GNU Affero General Public License v3.0 only"; 39 }; 40 41 - agpl3Plus = spdx { 42 spdxId = "AGPL-3.0-or-later"; 43 fullName = "GNU Affero General Public License v3.0 or later"; 44 }; ··· 55 free = false; 56 }; 57 58 - apsl20 = spdx { 59 spdxId = "APSL-2.0"; 60 fullName = "Apple Public Source License 2.0"; 61 }; ··· 65 url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; 66 }; 67 68 - artistic1 = spdx { 69 spdxId = "Artistic-1.0"; 70 fullName = "Artistic License 1.0"; 71 }; 72 73 - artistic2 = spdx { 74 spdxId = "Artistic-2.0"; 75 fullName = "Artistic License 2.0"; 76 }; 77 78 - asl20 = spdx { 79 spdxId = "Apache-2.0"; 80 fullName = "Apache License 2.0"; 81 }; 82 83 - boost = spdx { 84 spdxId = "BSL-1.0"; 85 fullName = "Boost Software License 1.0"; 86 }; 87 88 - beerware = spdx { 89 spdxId = "Beerware"; 90 fullName = "Beerware License"; 91 }; 92 93 - blueOak100 = spdx { 94 spdxId = "BlueOak-1.0.0"; 95 fullName = "Blue Oak Model License 1.0.0"; 96 }; 97 98 - bsd0 = spdx { 99 spdxId = "0BSD"; 100 fullName = "BSD Zero Clause License"; 101 }; 102 103 - bsd1 = spdx { 104 spdxId = "BSD-1-Clause"; 105 fullName = "BSD 1-Clause License"; 106 }; 107 108 - bsd2 = spdx { 109 spdxId = "BSD-2-Clause"; 110 fullName = ''BSD 2-clause "Simplified" License''; 111 }; 112 113 - bsd2Patent = spdx { 114 spdxId = "BSD-2-Clause-Patent"; 115 fullName = "BSD-2-Clause Plus Patent License"; 116 }; 117 118 - bsd3 = spdx { 119 spdxId = "BSD-3-Clause"; 120 fullName = ''BSD 3-clause "New" or "Revised" License''; 121 }; 122 123 - bsdOriginal = spdx { 124 spdxId = "BSD-4-Clause"; 125 fullName = ''BSD 4-clause "Original" or "Old" License''; 126 }; 127 128 - bsdOriginalUC = spdx { 129 spdxId = "BSD-4-Clause-UC"; 130 fullName = "BSD 4-Clause University of California-Specific"; 131 }; 132 133 - bsdProtection = spdx { 134 spdxId = "BSD-Protection"; 135 fullName = "BSD Protection License"; 136 }; ··· 141 free = false; 142 }; 143 144 - clArtistic = spdx { 145 spdxId = "ClArtistic"; 146 fullName = "Clarified Artistic License"; 147 }; 148 149 - cc0 = spdx { 150 spdxId = "CC0-1.0"; 151 fullName = "Creative Commons Zero v1.0 Universal"; 152 }; 153 154 - cc-by-nc-sa-20 = spdx { 155 spdxId = "CC-BY-NC-SA-2.0"; 156 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; 157 free = false; 158 }; 159 160 - cc-by-nc-sa-25 = spdx { 161 spdxId = "CC-BY-NC-SA-2.5"; 162 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; 163 free = false; 164 }; 165 166 - cc-by-nc-sa-30 = spdx { 167 spdxId = "CC-BY-NC-SA-3.0"; 168 fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; 169 free = false; 170 }; 171 172 - cc-by-nc-sa-40 = spdx { 173 spdxId = "CC-BY-NC-SA-4.0"; 174 fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; 175 free = false; 176 }; 177 178 - cc-by-nc-30 = spdx { 179 spdxId = "CC-BY-NC-3.0"; 180 fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; 181 free = false; 182 }; 183 184 - cc-by-nc-40 = spdx { 185 spdxId = "CC-BY-NC-4.0"; 186 fullName = "Creative Commons Attribution Non Commercial 4.0 International"; 187 free = false; 188 }; 189 190 - cc-by-nd-30 = spdx { 191 spdxId = "CC-BY-ND-3.0"; 192 fullName = "Creative Commons Attribution-No Derivative Works v3.00"; 193 free = false; 194 }; 195 196 - cc-by-sa-25 = spdx { 197 spdxId = "CC-BY-SA-2.5"; 198 fullName = "Creative Commons Attribution Share Alike 2.5"; 199 }; 200 201 - cc-by-30 = spdx { 202 spdxId = "CC-BY-3.0"; 203 fullName = "Creative Commons Attribution 3.0"; 204 }; 205 206 - cc-by-sa-30 = spdx { 207 spdxId = "CC-BY-SA-3.0"; 208 fullName = "Creative Commons Attribution Share Alike 3.0"; 209 }; 210 211 - cc-by-40 = spdx { 212 spdxId = "CC-BY-4.0"; 213 fullName = "Creative Commons Attribution 4.0"; 214 }; 215 216 - cc-by-sa-40 = spdx { 217 spdxId = "CC-BY-SA-4.0"; 218 fullName = "Creative Commons Attribution Share Alike 4.0"; 219 }; 220 221 - cddl = spdx { 222 spdxId = "CDDL-1.0"; 223 fullName = "Common Development and Distribution License 1.0"; 224 }; 225 226 - cecill20 = spdx { 227 spdxId = "CECILL-2.0"; 228 fullName = "CeCILL Free Software License Agreement v2.0"; 229 }; 230 231 - cecill-b = spdx { 232 spdxId = "CECILL-B"; 233 fullName = "CeCILL-B Free Software License Agreement"; 234 }; 235 236 - cecill-c = spdx { 237 spdxId = "CECILL-C"; 238 fullName = "CeCILL-C Free Software License Agreement"; 239 }; 240 241 - cpal10 = spdx { 242 spdxId = "CPAL-1.0"; 243 fullName = "Common Public Attribution License 1.0"; 244 }; 245 246 - cpl10 = spdx { 247 spdxId = "CPL-1.0"; 248 fullName = "Common Public License 1.0"; 249 }; 250 251 - curl = spdx { 252 spdxId = "curl"; 253 fullName = "curl License"; 254 }; 255 256 - doc = spdx { 257 spdxId = "DOC"; 258 fullName = "DOC License"; 259 }; ··· 264 free = false; 265 }; 266 267 - efl10 = spdx { 268 spdxId = "EFL-1.0"; 269 fullName = "Eiffel Forum License v1.0"; 270 }; 271 272 - efl20 = spdx { 273 spdxId = "EFL-2.0"; 274 fullName = "Eiffel Forum License v2.0"; 275 }; ··· 280 free = false; 281 }; 282 283 - epl10 = spdx { 284 spdxId = "EPL-1.0"; 285 fullName = "Eclipse Public License 1.0"; 286 }; 287 288 - epl20 = spdx { 289 spdxId = "EPL-2.0"; 290 fullName = "Eclipse Public License 2.0"; 291 }; ··· 296 free = false; 297 }; 298 299 - eupl11 = spdx { 300 spdxId = "EUPL-1.1"; 301 fullName = "European Union Public License 1.1"; 302 }; 303 304 - eupl12 = spdx { 305 spdxId = "EUPL-1.2"; 306 fullName = "European Union Public License 1.2"; 307 }; 308 309 - fdl11Only = spdx { 310 spdxId = "GFDL-1.1-only"; 311 fullName = "GNU Free Documentation License v1.1 only"; 312 }; 313 314 - fdl11Plus = spdx { 315 spdxId = "GFDL-1.1-or-later"; 316 fullName = "GNU Free Documentation License v1.1 or later"; 317 }; 318 319 - fdl12Only = spdx { 320 spdxId = "GFDL-1.2-only"; 321 fullName = "GNU Free Documentation License v1.2 only"; 322 }; 323 324 - fdl12Plus = spdx { 325 spdxId = "GFDL-1.2-or-later"; 326 fullName = "GNU Free Documentation License v1.2 or later"; 327 }; 328 329 - fdl13Only = spdx { 330 spdxId = "GFDL-1.3-only"; 331 fullName = "GNU Free Documentation License v1.3 only"; 332 }; 333 334 - fdl13Plus = spdx { 335 spdxId = "GFDL-1.3-or-later"; 336 fullName = "GNU Free Documentation License v1.3 or later"; 337 }; ··· 346 fullName = "Unspecified free software license"; 347 }; 348 349 - ftl = spdx { 350 spdxId = "FTL"; 351 fullName = "Freetype Project License"; 352 }; ··· 362 free = false; 363 }; 364 365 - gpl1Only = spdx { 366 spdxId = "GPL-1.0-only"; 367 fullName = "GNU General Public License v1.0 only"; 368 }; 369 370 - gpl1Plus = spdx { 371 spdxId = "GPL-1.0-or-later"; 372 fullName = "GNU General Public License v1.0 or later"; 373 }; 374 375 - gpl2Only = spdx { 376 spdxId = "GPL-2.0-only"; 377 fullName = "GNU General Public License v2.0 only"; 378 }; 379 380 - gpl2Classpath = spdx { 381 spdxId = "GPL-2.0-with-classpath-exception"; 382 fullName = "GNU General Public License v2.0 only (with Classpath exception)"; 383 }; ··· 392 url = "https://www.mysql.com/about/legal/licensing/foss-exception"; 393 }; 394 395 - gpl2Plus = spdx { 396 spdxId = "GPL-2.0-or-later"; 397 fullName = "GNU General Public License v2.0 or later"; 398 }; 399 400 - gpl3Only = spdx { 401 spdxId = "GPL-3.0-only"; 402 fullName = "GNU General Public License v3.0 only"; 403 }; 404 405 - gpl3Plus = spdx { 406 spdxId = "GPL-3.0-or-later"; 407 fullName = "GNU General Public License v3.0 or later"; 408 }; ··· 412 url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; 413 }; 414 415 - hpnd = spdx { 416 spdxId = "HPND"; 417 fullName = "Historic Permission Notice and Disclaimer"; 418 }; 419 420 - hpndSellVariant = spdx { 421 fullName = "Historical Permission Notice and Disclaimer - sell variant"; 422 spdxId = "HPND-sell-variant"; 423 }; ··· 428 url = "https://old.calculate-linux.org/packages/licenses/iASL"; 429 }; 430 431 - ijg = spdx { 432 spdxId = "IJG"; 433 fullName = "Independent JPEG Group License"; 434 }; 435 436 - imagemagick = spdx { 437 fullName = "ImageMagick License"; 438 spdxId = "imagemagick"; 439 }; ··· 450 free = false; 451 }; 452 453 - ipa = spdx { 454 spdxId = "IPA"; 455 fullName = "IPA Font License"; 456 }; 457 458 - ipl10 = spdx { 459 spdxId = "IPL-1.0"; 460 fullName = "IBM Public License v1.0"; 461 }; 462 463 - isc = spdx { 464 spdxId = "ISC"; 465 fullName = "ISC License"; 466 }; ··· 478 free = false; 479 }; 480 481 - lgpl2Only = spdx { 482 spdxId = "LGPL-2.0-only"; 483 fullName = "GNU Library General Public License v2 only"; 484 }; 485 486 - lgpl2Plus = spdx { 487 spdxId = "LGPL-2.0-or-later"; 488 fullName = "GNU Library General Public License v2 or later"; 489 }; 490 491 - lgpl21Only = spdx { 492 spdxId = "LGPL-2.1-only"; 493 fullName = "GNU Lesser General Public License v2.1 only"; 494 }; 495 496 - lgpl21Plus = spdx { 497 spdxId = "LGPL-2.1-or-later"; 498 fullName = "GNU Lesser General Public License v2.1 or later"; 499 }; 500 501 - lgpl3Only = spdx { 502 spdxId = "LGPL-3.0-only"; 503 fullName = "GNU Lesser General Public License v3.0 only"; 504 }; 505 506 - lgpl3Plus = spdx { 507 spdxId = "LGPL-3.0-or-later"; 508 fullName = "GNU Lesser General Public License v3.0 or later"; 509 }; 510 511 - lgpllr = spdx { 512 spdxId = "LGPLLR"; 513 fullName = "Lesser General Public License For Linguistic Resources"; 514 }; 515 516 - libpng = spdx { 517 spdxId = "Libpng"; 518 fullName = "libpng License"; 519 }; 520 521 - libpng2 = spdx { 522 spdxId = "libpng-2.0"; # Used since libpng 1.6.36. 523 fullName = "PNG Reference Library version 2"; 524 }; 525 526 - libtiff = spdx { 527 spdxId = "libtiff"; 528 fullName = "libtiff License"; 529 }; ··· 533 url = "https://opensource.franz.com/preamble.html"; 534 }; 535 536 - llvm-exception = spdx { 537 spdxId = "LLVM-exception"; 538 fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License 539 }; 540 541 - lppl12 = spdx { 542 spdxId = "LPPL-1.2"; 543 fullName = "LaTeX Project Public License v1.2"; 544 }; 545 546 - lppl13c = spdx { 547 spdxId = "LPPL-1.3c"; 548 fullName = "LaTeX Project Public License v1.3c"; 549 }; 550 551 - lpl-102 = spdx { 552 spdxId = "LPL-1.02"; 553 fullName = "Lucent Public License v1.02"; 554 }; ··· 560 561 # spdx.org does not (yet) differentiate between the X11 and Expat versions 562 # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions 563 - mit = spdx { 564 spdxId = "MIT"; 565 fullName = "MIT License"; 566 }; 567 568 - mpl10 = spdx { 569 spdxId = "MPL-1.0"; 570 fullName = "Mozilla Public License 1.0"; 571 }; 572 573 - mpl11 = spdx { 574 spdxId = "MPL-1.1"; 575 fullName = "Mozilla Public License 1.1"; 576 }; 577 578 - mpl20 = spdx { 579 spdxId = "MPL-2.0"; 580 fullName = "Mozilla Public License 2.0"; 581 }; 582 583 - mspl = spdx { 584 spdxId = "MS-PL"; 585 fullName = "Microsoft Public License"; 586 }; 587 588 - nasa13 = spdx { 589 spdxId = "NASA-1.3"; 590 fullName = "NASA Open Source Agreement 1.3"; 591 free = false; 592 }; 593 594 - ncsa = spdx { 595 spdxId = "NCSA"; 596 fullName = "University of Illinois/NCSA Open Source License"; 597 }; 598 599 - nposl3 = spdx { 600 spdxId = "NPOSL-3.0"; 601 fullName = "Non-Profit Open Software License 3.0"; 602 }; ··· 613 free = false; 614 }; 615 616 - odbl = spdx { 617 spdxId = "ODbL-1.0"; 618 fullName = "Open Data Commons Open Database License v1.0"; 619 }; 620 621 - ofl = spdx { 622 spdxId = "OFL-1.1"; 623 fullName = "SIL Open Font License 1.1"; 624 }; 625 626 - openldap = spdx { 627 spdxId = "OLDAP-2.8"; 628 fullName = "Open LDAP Public License v2.8"; 629 }; 630 631 - openssl = spdx { 632 spdxId = "OpenSSL"; 633 fullName = "OpenSSL License"; 634 }; 635 636 - osl2 = spdx { 637 spdxId = "OSL-2.0"; 638 fullName = "Open Software License 2.0"; 639 }; 640 641 - osl21 = spdx { 642 spdxId = "OSL-2.1"; 643 fullName = "Open Software License 2.1"; 644 }; 645 646 - osl3 = spdx { 647 spdxId = "OSL-3.0"; 648 fullName = "Open Software License 3.0"; 649 }; 650 651 - parity70 = spdx { 652 spdxId = "Parity-7.0.0"; 653 fullName = "Parity Public License 7.0.0"; 654 url = "https://paritylicense.com/versions/7.0.0.html"; 655 }; 656 657 - php301 = spdx { 658 spdxId = "PHP-3.01"; 659 fullName = "PHP License v3.01"; 660 }; 661 662 - postgresql = spdx { 663 spdxId = "PostgreSQL"; 664 fullName = "PostgreSQL License"; 665 }; ··· 670 free = false; 671 }; 672 673 - psfl = spdx { 674 spdxId = "Python-2.0"; 675 fullName = "Python Software Foundation License version 2"; 676 url = "https://docs.python.org/license.html"; ··· 691 url = "https://prosperitylicense.com/versions/3.0.0.html"; 692 }; 693 694 - qhull = spdx { 695 spdxId = "Qhull"; 696 fullName = "Qhull License"; 697 }; 698 699 - qpl = spdx { 700 spdxId = "QPL-1.0"; 701 fullName = "Q Public License 1.0"; 702 }; ··· 706 url = "https://qwt.sourceforge.io/qwtlicense.html"; 707 }; 708 709 - ruby = spdx { 710 spdxId = "Ruby"; 711 fullName = "Ruby License"; 712 }; 713 714 - sendmail = spdx { 715 spdxId = "Sendmail"; 716 fullName = "Sendmail License"; 717 }; 718 719 - sgi-b-20 = spdx { 720 spdxId = "SGI-B-2.0"; 721 fullName = "SGI Free Software License B v2.0"; 722 }; 723 724 - sleepycat = spdx { 725 spdxId = "Sleepycat"; 726 fullName = "Sleepycat License"; 727 }; ··· 737 fullName = "Server Side Public License"; 738 url = "https://www.mongodb.com/licensing/server-side-public-license"; 739 free = false; 740 }; 741 742 stk = { ··· 745 url = "https://github.com/thestk/stk/blob/master/LICENSE"; 746 }; 747 748 - tcltk = spdx { 749 spdxId = "TCL"; 750 fullName = "TCL/TK License"; 751 }; ··· 763 unfreeRedistributable = { 764 fullName = "Unfree redistributable"; 765 free = false; 766 }; 767 768 unfreeRedistributableFirmware = { 769 fullName = "Unfree redistributable firmware"; 770 # Note: we currently consider these "free" for inclusion in the 771 # channel and NixOS images. 772 }; 773 774 - unicode-dfs-2015 = spdx { 775 spdxId = "Unicode-DFS-2015"; 776 fullName = "Unicode License Agreement - Data Files and Software (2015)"; 777 }; 778 779 - unicode-dfs-2016 = spdx { 780 spdxId = "Unicode-DFS-2016"; 781 fullName = "Unicode License Agreement - Data Files and Software (2016)"; 782 }; 783 784 - unlicense = spdx { 785 spdxId = "Unlicense"; 786 fullName = "The Unlicense"; 787 }; ··· 791 url = "https://oss.oracle.com/licenses/upl/"; 792 }; 793 794 - vim = spdx { 795 spdxId = "Vim"; 796 fullName = "Vim License"; 797 }; ··· 802 free = false; 803 }; 804 805 - vsl10 = spdx { 806 spdxId = "VSL-1.0"; 807 fullName = "Vovida Software License v1.0"; 808 }; 809 810 - watcom = spdx { 811 spdxId = "Watcom-1.0"; 812 fullName = "Sybase Open Watcom Public License 1.0"; 813 }; 814 815 - w3c = spdx { 816 spdxId = "W3C"; 817 fullName = "W3C Software Notice and License"; 818 }; ··· 822 url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; 823 }; 824 825 - wtfpl = spdx { 826 spdxId = "WTFPL"; 827 fullName = "Do What The F*ck You Want To Public License"; 828 }; 829 830 - wxWindows = spdx { 831 spdxId = "wxWindows"; 832 fullName = "wxWindows Library Licence, Version 3.1"; 833 }; ··· 837 url = "http://mcj.sourceforge.net/authors.html#xfig"; # https is broken 838 }; 839 840 - zlib = spdx { 841 spdxId = "Zlib"; 842 fullName = "zlib License"; 843 }; 844 845 - zpl20 = spdx { 846 spdxId = "ZPL-2.0"; 847 fullName = "Zope Public License 2.0"; 848 }; 849 850 - zpl21 = spdx { 851 spdxId = "ZPL-2.1"; 852 fullName = "Zope Public License 2.1"; 853 }; 854 } // { 855 # TODO: remove legacy aliases 856 - agpl3 = spdx { 857 spdxId = "AGPL-3.0"; 858 fullName = "GNU Affero General Public License v3.0"; 859 deprecated = true; 860 }; 861 - fdl11 = spdx { 862 spdxId = "GFDL-1.1"; 863 fullName = "GNU Free Documentation License v1.1"; 864 deprecated = true; 865 }; 866 - fdl12 = spdx { 867 spdxId = "GFDL-1.2"; 868 fullName = "GNU Free Documentation License v1.2"; 869 deprecated = true; 870 }; 871 - fdl13 = spdx { 872 spdxId = "GFDL-1.3"; 873 fullName = "GNU Free Documentation License v1.3"; 874 deprecated = true; 875 }; 876 - gpl1 = spdx { 877 spdxId = "GPL-1.0"; 878 fullName = "GNU General Public License v1.0"; 879 deprecated = true; 880 }; 881 - gpl2 = spdx { 882 spdxId = "GPL-2.0"; 883 fullName = "GNU General Public License v2.0"; 884 deprecated = true; 885 }; 886 - gpl3 = spdx { 887 spdxId = "GPL-3.0"; 888 fullName = "GNU General Public License v3.0"; 889 deprecated = true; 890 }; 891 - lgpl2 = spdx { 892 spdxId = "LGPL-2.0"; 893 fullName = "GNU Library General Public License v2"; 894 deprecated = true; 895 }; 896 - lgpl21 = spdx { 897 spdxId = "LGPL-2.1"; 898 fullName = "GNU Lesser General Public License v2.1"; 899 deprecated = true; 900 }; 901 - lgpl3 = spdx { 902 spdxId = "LGPL-3.0"; 903 fullName = "GNU Lesser General Public License v3.0"; 904 deprecated = true;
··· 1 { lib }: 2 3 + lib.mapAttrs (lname: lset: let 4 + defaultLicense = rec { 5 + shortName = lname; 6 + free = true; # Most of our licenses are Free, explicitly declare unfree additions as such! 7 + deprecated = false; 8 }; 9 10 + mkLicense = licenseDeclaration: let 11 + applyDefaults = license: defaultLicense // license; 12 + applySpdx = license: 13 + if license ? spdxId 14 + then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; } 15 + else license; 16 + applyRedistributable = license: { redistributable = license.free; } // license; 17 + in lib.pipe licenseDeclaration [ 18 + applyDefaults 19 + applySpdx 20 + applyRedistributable 21 + ]; 22 + in mkLicense lset) ({ 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. 26 */ 27 28 + abstyles = { 29 spdxId = "Abstyles"; 30 fullName = "Abstyles License"; 31 }; 32 33 + afl20 = { 34 spdxId = "AFL-2.0"; 35 fullName = "Academic Free License v2.0"; 36 }; 37 38 + afl21 = { 39 spdxId = "AFL-2.1"; 40 fullName = "Academic Free License v2.1"; 41 }; 42 43 + afl3 = { 44 spdxId = "AFL-3.0"; 45 fullName = "Academic Free License v3.0"; 46 }; 47 48 + agpl3Only = { 49 spdxId = "AGPL-3.0-only"; 50 fullName = "GNU Affero General Public License v3.0 only"; 51 }; 52 53 + agpl3Plus = { 54 spdxId = "AGPL-3.0-or-later"; 55 fullName = "GNU Affero General Public License v3.0 or later"; 56 }; ··· 67 free = false; 68 }; 69 70 + apsl20 = { 71 spdxId = "APSL-2.0"; 72 fullName = "Apple Public Source License 2.0"; 73 }; ··· 77 url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; 78 }; 79 80 + artistic1 = { 81 spdxId = "Artistic-1.0"; 82 fullName = "Artistic License 1.0"; 83 }; 84 85 + artistic2 = { 86 spdxId = "Artistic-2.0"; 87 fullName = "Artistic License 2.0"; 88 }; 89 90 + asl20 = { 91 spdxId = "Apache-2.0"; 92 fullName = "Apache License 2.0"; 93 }; 94 95 + boost = { 96 spdxId = "BSL-1.0"; 97 fullName = "Boost Software License 1.0"; 98 }; 99 100 + beerware = { 101 spdxId = "Beerware"; 102 fullName = "Beerware License"; 103 }; 104 105 + blueOak100 = { 106 spdxId = "BlueOak-1.0.0"; 107 fullName = "Blue Oak Model License 1.0.0"; 108 }; 109 110 + bsd0 = { 111 spdxId = "0BSD"; 112 fullName = "BSD Zero Clause License"; 113 }; 114 115 + bsd1 = { 116 spdxId = "BSD-1-Clause"; 117 fullName = "BSD 1-Clause License"; 118 }; 119 120 + bsd2 = { 121 spdxId = "BSD-2-Clause"; 122 fullName = ''BSD 2-clause "Simplified" License''; 123 }; 124 125 + bsd2Patent = { 126 spdxId = "BSD-2-Clause-Patent"; 127 fullName = "BSD-2-Clause Plus Patent License"; 128 }; 129 130 + bsd3 = { 131 spdxId = "BSD-3-Clause"; 132 fullName = ''BSD 3-clause "New" or "Revised" License''; 133 }; 134 135 + bsdOriginal = { 136 spdxId = "BSD-4-Clause"; 137 fullName = ''BSD 4-clause "Original" or "Old" License''; 138 }; 139 140 + bsdOriginalUC = { 141 spdxId = "BSD-4-Clause-UC"; 142 fullName = "BSD 4-Clause University of California-Specific"; 143 }; 144 145 + bsdProtection = { 146 spdxId = "BSD-Protection"; 147 fullName = "BSD Protection License"; 148 }; ··· 153 free = false; 154 }; 155 156 + clArtistic = { 157 spdxId = "ClArtistic"; 158 fullName = "Clarified Artistic License"; 159 }; 160 161 + cc0 = { 162 spdxId = "CC0-1.0"; 163 fullName = "Creative Commons Zero v1.0 Universal"; 164 }; 165 166 + cc-by-nc-sa-20 = { 167 spdxId = "CC-BY-NC-SA-2.0"; 168 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; 169 free = false; 170 }; 171 172 + cc-by-nc-sa-25 = { 173 spdxId = "CC-BY-NC-SA-2.5"; 174 fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; 175 free = false; 176 }; 177 178 + cc-by-nc-sa-30 = { 179 spdxId = "CC-BY-NC-SA-3.0"; 180 fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; 181 free = false; 182 }; 183 184 + cc-by-nc-sa-40 = { 185 spdxId = "CC-BY-NC-SA-4.0"; 186 fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; 187 free = false; 188 }; 189 190 + cc-by-nc-30 = { 191 spdxId = "CC-BY-NC-3.0"; 192 fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; 193 free = false; 194 }; 195 196 + cc-by-nc-40 = { 197 spdxId = "CC-BY-NC-4.0"; 198 fullName = "Creative Commons Attribution Non Commercial 4.0 International"; 199 free = false; 200 }; 201 202 + cc-by-nd-30 = { 203 spdxId = "CC-BY-ND-3.0"; 204 fullName = "Creative Commons Attribution-No Derivative Works v3.00"; 205 free = false; 206 }; 207 208 + cc-by-sa-25 = { 209 spdxId = "CC-BY-SA-2.5"; 210 fullName = "Creative Commons Attribution Share Alike 2.5"; 211 }; 212 213 + cc-by-30 = { 214 spdxId = "CC-BY-3.0"; 215 fullName = "Creative Commons Attribution 3.0"; 216 }; 217 218 + cc-by-sa-30 = { 219 spdxId = "CC-BY-SA-3.0"; 220 fullName = "Creative Commons Attribution Share Alike 3.0"; 221 }; 222 223 + cc-by-40 = { 224 spdxId = "CC-BY-4.0"; 225 fullName = "Creative Commons Attribution 4.0"; 226 }; 227 228 + cc-by-sa-40 = { 229 spdxId = "CC-BY-SA-4.0"; 230 fullName = "Creative Commons Attribution Share Alike 4.0"; 231 }; 232 233 + cddl = { 234 spdxId = "CDDL-1.0"; 235 fullName = "Common Development and Distribution License 1.0"; 236 }; 237 238 + cecill20 = { 239 spdxId = "CECILL-2.0"; 240 fullName = "CeCILL Free Software License Agreement v2.0"; 241 }; 242 243 + cecill-b = { 244 spdxId = "CECILL-B"; 245 fullName = "CeCILL-B Free Software License Agreement"; 246 }; 247 248 + cecill-c = { 249 spdxId = "CECILL-C"; 250 fullName = "CeCILL-C Free Software License Agreement"; 251 }; 252 253 + cpal10 = { 254 spdxId = "CPAL-1.0"; 255 fullName = "Common Public Attribution License 1.0"; 256 }; 257 258 + cpl10 = { 259 spdxId = "CPL-1.0"; 260 fullName = "Common Public License 1.0"; 261 }; 262 263 + curl = { 264 spdxId = "curl"; 265 fullName = "curl License"; 266 }; 267 268 + doc = { 269 spdxId = "DOC"; 270 fullName = "DOC License"; 271 }; ··· 276 free = false; 277 }; 278 279 + efl10 = { 280 spdxId = "EFL-1.0"; 281 fullName = "Eiffel Forum License v1.0"; 282 }; 283 284 + efl20 = { 285 spdxId = "EFL-2.0"; 286 fullName = "Eiffel Forum License v2.0"; 287 }; ··· 292 free = false; 293 }; 294 295 + epl10 = { 296 spdxId = "EPL-1.0"; 297 fullName = "Eclipse Public License 1.0"; 298 }; 299 300 + epl20 = { 301 spdxId = "EPL-2.0"; 302 fullName = "Eclipse Public License 2.0"; 303 }; ··· 308 free = false; 309 }; 310 311 + eupl11 = { 312 spdxId = "EUPL-1.1"; 313 fullName = "European Union Public License 1.1"; 314 }; 315 316 + eupl12 = { 317 spdxId = "EUPL-1.2"; 318 fullName = "European Union Public License 1.2"; 319 }; 320 321 + fdl11Only = { 322 spdxId = "GFDL-1.1-only"; 323 fullName = "GNU Free Documentation License v1.1 only"; 324 }; 325 326 + fdl11Plus = { 327 spdxId = "GFDL-1.1-or-later"; 328 fullName = "GNU Free Documentation License v1.1 or later"; 329 }; 330 331 + fdl12Only = { 332 spdxId = "GFDL-1.2-only"; 333 fullName = "GNU Free Documentation License v1.2 only"; 334 }; 335 336 + fdl12Plus = { 337 spdxId = "GFDL-1.2-or-later"; 338 fullName = "GNU Free Documentation License v1.2 or later"; 339 }; 340 341 + fdl13Only = { 342 spdxId = "GFDL-1.3-only"; 343 fullName = "GNU Free Documentation License v1.3 only"; 344 }; 345 346 + fdl13Plus = { 347 spdxId = "GFDL-1.3-or-later"; 348 fullName = "GNU Free Documentation License v1.3 or later"; 349 }; ··· 358 fullName = "Unspecified free software license"; 359 }; 360 361 + ftl = { 362 spdxId = "FTL"; 363 fullName = "Freetype Project License"; 364 }; ··· 374 free = false; 375 }; 376 377 + gpl1Only = { 378 spdxId = "GPL-1.0-only"; 379 fullName = "GNU General Public License v1.0 only"; 380 }; 381 382 + gpl1Plus = { 383 spdxId = "GPL-1.0-or-later"; 384 fullName = "GNU General Public License v1.0 or later"; 385 }; 386 387 + gpl2Only = { 388 spdxId = "GPL-2.0-only"; 389 fullName = "GNU General Public License v2.0 only"; 390 }; 391 392 + gpl2Classpath = { 393 spdxId = "GPL-2.0-with-classpath-exception"; 394 fullName = "GNU General Public License v2.0 only (with Classpath exception)"; 395 }; ··· 404 url = "https://www.mysql.com/about/legal/licensing/foss-exception"; 405 }; 406 407 + gpl2Plus = { 408 spdxId = "GPL-2.0-or-later"; 409 fullName = "GNU General Public License v2.0 or later"; 410 }; 411 412 + gpl3Only = { 413 spdxId = "GPL-3.0-only"; 414 fullName = "GNU General Public License v3.0 only"; 415 }; 416 417 + gpl3Plus = { 418 spdxId = "GPL-3.0-or-later"; 419 fullName = "GNU General Public License v3.0 or later"; 420 }; ··· 424 url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; 425 }; 426 427 + hpnd = { 428 spdxId = "HPND"; 429 fullName = "Historic Permission Notice and Disclaimer"; 430 }; 431 432 + hpndSellVariant = { 433 fullName = "Historical Permission Notice and Disclaimer - sell variant"; 434 spdxId = "HPND-sell-variant"; 435 }; ··· 440 url = "https://old.calculate-linux.org/packages/licenses/iASL"; 441 }; 442 443 + ijg = { 444 spdxId = "IJG"; 445 fullName = "Independent JPEG Group License"; 446 }; 447 448 + imagemagick = { 449 fullName = "ImageMagick License"; 450 spdxId = "imagemagick"; 451 }; ··· 462 free = false; 463 }; 464 465 + ipa = { 466 spdxId = "IPA"; 467 fullName = "IPA Font License"; 468 }; 469 470 + ipl10 = { 471 spdxId = "IPL-1.0"; 472 fullName = "IBM Public License v1.0"; 473 }; 474 475 + isc = { 476 spdxId = "ISC"; 477 fullName = "ISC License"; 478 }; ··· 490 free = false; 491 }; 492 493 + lgpl2Only = { 494 spdxId = "LGPL-2.0-only"; 495 fullName = "GNU Library General Public License v2 only"; 496 }; 497 498 + lgpl2Plus = { 499 spdxId = "LGPL-2.0-or-later"; 500 fullName = "GNU Library General Public License v2 or later"; 501 }; 502 503 + lgpl21Only = { 504 spdxId = "LGPL-2.1-only"; 505 fullName = "GNU Lesser General Public License v2.1 only"; 506 }; 507 508 + lgpl21Plus = { 509 spdxId = "LGPL-2.1-or-later"; 510 fullName = "GNU Lesser General Public License v2.1 or later"; 511 }; 512 513 + lgpl3Only = { 514 spdxId = "LGPL-3.0-only"; 515 fullName = "GNU Lesser General Public License v3.0 only"; 516 }; 517 518 + lgpl3Plus = { 519 spdxId = "LGPL-3.0-or-later"; 520 fullName = "GNU Lesser General Public License v3.0 or later"; 521 }; 522 523 + lgpllr = { 524 spdxId = "LGPLLR"; 525 fullName = "Lesser General Public License For Linguistic Resources"; 526 }; 527 528 + libpng = { 529 spdxId = "Libpng"; 530 fullName = "libpng License"; 531 }; 532 533 + libpng2 = { 534 spdxId = "libpng-2.0"; # Used since libpng 1.6.36. 535 fullName = "PNG Reference Library version 2"; 536 }; 537 538 + libtiff = { 539 spdxId = "libtiff"; 540 fullName = "libtiff License"; 541 }; ··· 545 url = "https://opensource.franz.com/preamble.html"; 546 }; 547 548 + llvm-exception = { 549 spdxId = "LLVM-exception"; 550 fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License 551 }; 552 553 + lppl12 = { 554 spdxId = "LPPL-1.2"; 555 fullName = "LaTeX Project Public License v1.2"; 556 }; 557 558 + lppl13c = { 559 spdxId = "LPPL-1.3c"; 560 fullName = "LaTeX Project Public License v1.3c"; 561 }; 562 563 + lpl-102 = { 564 spdxId = "LPL-1.02"; 565 fullName = "Lucent Public License v1.02"; 566 }; ··· 572 573 # spdx.org does not (yet) differentiate between the X11 and Expat versions 574 # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions 575 + mit = { 576 spdxId = "MIT"; 577 fullName = "MIT License"; 578 }; 579 580 + mpl10 = { 581 spdxId = "MPL-1.0"; 582 fullName = "Mozilla Public License 1.0"; 583 }; 584 585 + mpl11 = { 586 spdxId = "MPL-1.1"; 587 fullName = "Mozilla Public License 1.1"; 588 }; 589 590 + mpl20 = { 591 spdxId = "MPL-2.0"; 592 fullName = "Mozilla Public License 2.0"; 593 }; 594 595 + mspl = { 596 spdxId = "MS-PL"; 597 fullName = "Microsoft Public License"; 598 }; 599 600 + nasa13 = { 601 spdxId = "NASA-1.3"; 602 fullName = "NASA Open Source Agreement 1.3"; 603 free = false; 604 }; 605 606 + ncsa = { 607 spdxId = "NCSA"; 608 fullName = "University of Illinois/NCSA Open Source License"; 609 }; 610 611 + nposl3 = { 612 spdxId = "NPOSL-3.0"; 613 fullName = "Non-Profit Open Software License 3.0"; 614 }; ··· 625 free = false; 626 }; 627 628 + odbl = { 629 spdxId = "ODbL-1.0"; 630 fullName = "Open Data Commons Open Database License v1.0"; 631 }; 632 633 + ofl = { 634 spdxId = "OFL-1.1"; 635 fullName = "SIL Open Font License 1.1"; 636 }; 637 638 + openldap = { 639 spdxId = "OLDAP-2.8"; 640 fullName = "Open LDAP Public License v2.8"; 641 }; 642 643 + openssl = { 644 spdxId = "OpenSSL"; 645 fullName = "OpenSSL License"; 646 }; 647 648 + osl2 = { 649 spdxId = "OSL-2.0"; 650 fullName = "Open Software License 2.0"; 651 }; 652 653 + osl21 = { 654 spdxId = "OSL-2.1"; 655 fullName = "Open Software License 2.1"; 656 }; 657 658 + osl3 = { 659 spdxId = "OSL-3.0"; 660 fullName = "Open Software License 3.0"; 661 }; 662 663 + parity70 = { 664 spdxId = "Parity-7.0.0"; 665 fullName = "Parity Public License 7.0.0"; 666 url = "https://paritylicense.com/versions/7.0.0.html"; 667 }; 668 669 + php301 = { 670 spdxId = "PHP-3.01"; 671 fullName = "PHP License v3.01"; 672 }; 673 674 + postgresql = { 675 spdxId = "PostgreSQL"; 676 fullName = "PostgreSQL License"; 677 }; ··· 682 free = false; 683 }; 684 685 + psfl = { 686 spdxId = "Python-2.0"; 687 fullName = "Python Software Foundation License version 2"; 688 url = "https://docs.python.org/license.html"; ··· 703 url = "https://prosperitylicense.com/versions/3.0.0.html"; 704 }; 705 706 + qhull = { 707 spdxId = "Qhull"; 708 fullName = "Qhull License"; 709 }; 710 711 + qpl = { 712 spdxId = "QPL-1.0"; 713 fullName = "Q Public License 1.0"; 714 }; ··· 718 url = "https://qwt.sourceforge.io/qwtlicense.html"; 719 }; 720 721 + ruby = { 722 spdxId = "Ruby"; 723 fullName = "Ruby License"; 724 }; 725 726 + sendmail = { 727 spdxId = "Sendmail"; 728 fullName = "Sendmail License"; 729 }; 730 731 + sgi-b-20 = { 732 spdxId = "SGI-B-2.0"; 733 fullName = "SGI Free Software License B v2.0"; 734 }; 735 736 + sleepycat = { 737 spdxId = "Sleepycat"; 738 fullName = "Sleepycat License"; 739 }; ··· 749 fullName = "Server Side Public License"; 750 url = "https://www.mongodb.com/licensing/server-side-public-license"; 751 free = false; 752 + # NOTE Debatable. 753 + # The license a slightly modified AGPL but still considered unfree by the 754 + # OSI for what seem like political reasons 755 + redistributable = true; # Definitely redistributable though, it's an AGPL derivative 756 }; 757 758 stk = { ··· 761 url = "https://github.com/thestk/stk/blob/master/LICENSE"; 762 }; 763 764 + tcltk = { 765 spdxId = "TCL"; 766 fullName = "TCL/TK License"; 767 }; ··· 779 unfreeRedistributable = { 780 fullName = "Unfree redistributable"; 781 free = false; 782 + redistributable = true; 783 }; 784 785 unfreeRedistributableFirmware = { 786 fullName = "Unfree redistributable firmware"; 787 + redistributable = true; 788 # Note: we currently consider these "free" for inclusion in the 789 # channel and NixOS images. 790 }; 791 792 + unicode-dfs-2015 = { 793 spdxId = "Unicode-DFS-2015"; 794 fullName = "Unicode License Agreement - Data Files and Software (2015)"; 795 }; 796 797 + unicode-dfs-2016 = { 798 spdxId = "Unicode-DFS-2016"; 799 fullName = "Unicode License Agreement - Data Files and Software (2016)"; 800 }; 801 802 + unlicense = { 803 spdxId = "Unlicense"; 804 fullName = "The Unlicense"; 805 }; ··· 809 url = "https://oss.oracle.com/licenses/upl/"; 810 }; 811 812 + vim = { 813 spdxId = "Vim"; 814 fullName = "Vim License"; 815 }; ··· 820 free = false; 821 }; 822 823 + vsl10 = { 824 spdxId = "VSL-1.0"; 825 fullName = "Vovida Software License v1.0"; 826 }; 827 828 + watcom = { 829 spdxId = "Watcom-1.0"; 830 fullName = "Sybase Open Watcom Public License 1.0"; 831 }; 832 833 + w3c = { 834 spdxId = "W3C"; 835 fullName = "W3C Software Notice and License"; 836 }; ··· 840 url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; 841 }; 842 843 + wtfpl = { 844 spdxId = "WTFPL"; 845 fullName = "Do What The F*ck You Want To Public License"; 846 }; 847 848 + wxWindows = { 849 spdxId = "wxWindows"; 850 fullName = "wxWindows Library Licence, Version 3.1"; 851 }; ··· 855 url = "http://mcj.sourceforge.net/authors.html#xfig"; # https is broken 856 }; 857 858 + zlib = { 859 spdxId = "Zlib"; 860 fullName = "zlib License"; 861 }; 862 863 + zpl20 = { 864 spdxId = "ZPL-2.0"; 865 fullName = "Zope Public License 2.0"; 866 }; 867 868 + zpl21 = { 869 spdxId = "ZPL-2.1"; 870 fullName = "Zope Public License 2.1"; 871 }; 872 } // { 873 # TODO: remove legacy aliases 874 + agpl3 = { 875 spdxId = "AGPL-3.0"; 876 fullName = "GNU Affero General Public License v3.0"; 877 deprecated = true; 878 }; 879 + fdl11 = { 880 spdxId = "GFDL-1.1"; 881 fullName = "GNU Free Documentation License v1.1"; 882 deprecated = true; 883 }; 884 + fdl12 = { 885 spdxId = "GFDL-1.2"; 886 fullName = "GNU Free Documentation License v1.2"; 887 deprecated = true; 888 }; 889 + fdl13 = { 890 spdxId = "GFDL-1.3"; 891 fullName = "GNU Free Documentation License v1.3"; 892 deprecated = true; 893 }; 894 + gpl1 = { 895 spdxId = "GPL-1.0"; 896 fullName = "GNU General Public License v1.0"; 897 deprecated = true; 898 }; 899 + gpl2 = { 900 spdxId = "GPL-2.0"; 901 fullName = "GNU General Public License v2.0"; 902 deprecated = true; 903 }; 904 + gpl3 = { 905 spdxId = "GPL-3.0"; 906 fullName = "GNU General Public License v3.0"; 907 deprecated = true; 908 }; 909 + lgpl2 = { 910 spdxId = "LGPL-2.0"; 911 fullName = "GNU Library General Public License v2"; 912 deprecated = true; 913 }; 914 + lgpl21 = { 915 spdxId = "LGPL-2.1"; 916 fullName = "GNU Lesser General Public License v2.1"; 917 deprecated = true; 918 }; 919 + lgpl3 = { 920 spdxId = "LGPL-3.0"; 921 fullName = "GNU Lesser General Public License v3.0"; 922 deprecated = true;