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