github.com/meulengracht/snapd@v0.0.0-20210719210640-8bde69bcc84e/spdx/licenses.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2016 Canonical Ltd 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package spdx 21 22 // From https://spdx.org/licenses/ 23 // data files: https://github.com/spdx/license-list-data 24 // Version: 3.11 2020-11-25 25 // 26 // jq < json/licenses.json '.licenses | .[] | select(.isOsiApproved == true) | .licenseId' | sort | sed -e 's/$/,/' 27 var osi = []string{ 28 "0BSD", 29 "AAL", 30 "AFL-1.1", 31 "AFL-1.2", 32 "AFL-2.0", 33 "AFL-2.1", 34 "AFL-3.0", 35 "AGPL-3.0", 36 "AGPL-3.0-only", 37 "AGPL-3.0-or-later", 38 "Apache-1.1", 39 "Apache-2.0", 40 "APL-1.0", 41 "APSL-1.0", 42 "APSL-1.1", 43 "APSL-1.2", 44 "APSL-2.0", 45 "Artistic-1.0", 46 "Artistic-1.0-cl8", 47 "Artistic-1.0-Perl", 48 "Artistic-2.0", 49 "BSD-1-Clause", 50 "BSD-2-Clause", 51 "BSD-2-Clause-Patent", 52 "BSD-3-Clause", 53 "BSD-3-Clause-LBNL", 54 "BSL-1.0", 55 "CAL-1.0", 56 "CAL-1.0-Combined-Work-Exception", 57 "CATOSL-1.1", 58 "CDDL-1.0", 59 "CECILL-2.1", 60 "CNRI-Python", 61 "CPAL-1.0", 62 "CPL-1.0", 63 "CUA-OPL-1.0", 64 "ECL-1.0", 65 "ECL-2.0", 66 "EFL-1.0", 67 "EFL-2.0", 68 "Entessa", 69 "EPL-1.0", 70 "EPL-2.0", 71 "EUDatagrid", 72 "EUPL-1.1", 73 "EUPL-1.2", 74 "Fair", 75 "Frameworx-1.0", 76 "GPL-2.0", 77 "GPL-2.0+", 78 "GPL-2.0-only", 79 "GPL-2.0-or-later", 80 "GPL-3.0", 81 "GPL-3.0+", 82 "GPL-3.0-only", 83 "GPL-3.0-or-later", 84 "GPL-3.0-with-GCC-exception", 85 "HPND", 86 "Intel", 87 "IPA", 88 "IPL-1.0", 89 "ISC", 90 "LGPL-2.0", 91 "LGPL-2.0+", 92 "LGPL-2.0-only", 93 "LGPL-2.0-or-later", 94 "LGPL-2.1", 95 "LGPL-2.1+", 96 "LGPL-2.1-only", 97 "LGPL-2.1-or-later", 98 "LGPL-3.0", 99 "LGPL-3.0+", 100 "LGPL-3.0-only", 101 "LGPL-3.0-or-later", 102 "LiLiQ-P-1.1", 103 "LiLiQ-R-1.1", 104 "LiLiQ-Rplus-1.1", 105 "LPL-1.0", 106 "LPL-1.02", 107 "LPPL-1.3c", 108 "MirOS", 109 "MIT", 110 "MIT-0", 111 "Motosoto", 112 "MPL-1.0", 113 "MPL-1.1", 114 "MPL-2.0", 115 "MPL-2.0-no-copyleft-exception", 116 "MS-PL", 117 "MS-RL", 118 "MulanPSL-2.0", 119 "Multics", 120 "NASA-1.3", 121 "Naumen", 122 "NCSA", 123 "NGPL", 124 "Nokia", 125 "NPOSL-3.0", 126 "NTP", 127 "OCLC-2.0", 128 "OFL-1.1", 129 "OFL-1.1-no-RFN", 130 "OFL-1.1-RFN", 131 "OGTSL", 132 "OLDAP-2.8", 133 "OSET-PL-2.1", 134 "OSL-1.0", 135 "OSL-2.0", 136 "OSL-2.1", 137 "OSL-3.0", 138 "PHP-3.0", 139 "PHP-3.01", 140 "PostgreSQL", 141 "Python-2.0", 142 "QPL-1.0", 143 "RPL-1.1", 144 "RPL-1.5", 145 "RPSL-1.0", 146 "RSCPL", 147 "SimPL-2.0", 148 "SISSL", 149 "Sleepycat", 150 "SPL-1.0", 151 "UCL-1.0", 152 "Unicode-DFS-2016", 153 "Unlicense", 154 "UPL-1.0", 155 "VSL-1.0", 156 "W3C", 157 "Watcom-1.0", 158 "Xnet", 159 "Zlib", 160 "ZPL-2.0", 161 } 162 163 // using SPDX license data: 164 // jq < json/licenses.json '.licenses | .[] | .licenseId' | sort | sed -e 's/$/,/' 165 var allLicenses = []string{ 166 "0BSD", 167 "AAL", 168 "Abstyles", 169 "Adobe-2006", 170 "Adobe-Glyph", 171 "ADSL", 172 "AFL-1.1", 173 "AFL-1.2", 174 "AFL-2.0", 175 "AFL-2.1", 176 "AFL-3.0", 177 "Afmparse", 178 "AGPL-1.0", 179 "AGPL-1.0-only", 180 "AGPL-1.0-or-later", 181 "AGPL-3.0", 182 "AGPL-3.0-only", 183 "AGPL-3.0-or-later", 184 "Aladdin", 185 "AMDPLPA", 186 "AML", 187 "AMPAS", 188 "ANTLR-PD", 189 "ANTLR-PD-fallback", 190 "Apache-1.0", 191 "Apache-1.1", 192 "Apache-2.0", 193 "APAFML", 194 "APL-1.0", 195 "APSL-1.0", 196 "APSL-1.1", 197 "APSL-1.2", 198 "APSL-2.0", 199 "Artistic-1.0", 200 "Artistic-1.0-cl8", 201 "Artistic-1.0-Perl", 202 "Artistic-2.0", 203 "Bahyph", 204 "Barr", 205 "Beerware", 206 "BitTorrent-1.0", 207 "BitTorrent-1.1", 208 "blessing", 209 "BlueOak-1.0.0", 210 "Borceux", 211 "BSD-1-Clause", 212 "BSD-2-Clause", 213 "BSD-2-Clause-FreeBSD", 214 "BSD-2-Clause-NetBSD", 215 "BSD-2-Clause-Patent", 216 "BSD-2-Clause-Views", 217 "BSD-3-Clause", 218 "BSD-3-Clause-Attribution", 219 "BSD-3-Clause-Clear", 220 "BSD-3-Clause-LBNL", 221 "BSD-3-Clause-No-Nuclear-License", 222 "BSD-3-Clause-No-Nuclear-License-2014", 223 "BSD-3-Clause-No-Nuclear-Warranty", 224 "BSD-3-Clause-Open-MPI", 225 "BSD-4-Clause", 226 "BSD-4-Clause-UC", 227 "BSD-Protection", 228 "BSD-Source-Code", 229 "BSL-1.0", 230 "BUSL-1.1", 231 "bzip2-1.0.5", 232 "bzip2-1.0.6", 233 "CAL-1.0", 234 "CAL-1.0-Combined-Work-Exception", 235 "Caldera", 236 "CATOSL-1.1", 237 "CC0-1.0", 238 "CC-BY-1.0", 239 "CC-BY-2.0", 240 "CC-BY-2.5", 241 "CC-BY-3.0", 242 "CC-BY-3.0-AT", 243 "CC-BY-3.0-US", 244 "CC-BY-4.0", 245 "CC-BY-NC-1.0", 246 "CC-BY-NC-2.0", 247 "CC-BY-NC-2.5", 248 "CC-BY-NC-3.0", 249 "CC-BY-NC-4.0", 250 "CC-BY-NC-ND-1.0", 251 "CC-BY-NC-ND-2.0", 252 "CC-BY-NC-ND-2.5", 253 "CC-BY-NC-ND-3.0", 254 "CC-BY-NC-ND-3.0-IGO", 255 "CC-BY-NC-ND-4.0", 256 "CC-BY-NC-SA-1.0", 257 "CC-BY-NC-SA-2.0", 258 "CC-BY-NC-SA-2.5", 259 "CC-BY-NC-SA-3.0", 260 "CC-BY-NC-SA-4.0", 261 "CC-BY-ND-1.0", 262 "CC-BY-ND-2.0", 263 "CC-BY-ND-2.5", 264 "CC-BY-ND-3.0", 265 "CC-BY-ND-4.0", 266 "CC-BY-SA-1.0", 267 "CC-BY-SA-2.0", 268 "CC-BY-SA-2.0-UK", 269 "CC-BY-SA-2.5", 270 "CC-BY-SA-3.0", 271 "CC-BY-SA-3.0-AT", 272 "CC-BY-SA-4.0", 273 "CC-PDDC", 274 "CDDL-1.0", 275 "CDDL-1.1", 276 "CDLA-Permissive-1.0", 277 "CDLA-Sharing-1.0", 278 "CECILL-1.0", 279 "CECILL-1.1", 280 "CECILL-2.0", 281 "CECILL-2.1", 282 "CECILL-B", 283 "CECILL-C", 284 "CERN-OHL-1.1", 285 "CERN-OHL-1.2", 286 "CERN-OHL-P-2.0", 287 "CERN-OHL-S-2.0", 288 "CERN-OHL-W-2.0", 289 "ClArtistic", 290 "CNRI-Jython", 291 "CNRI-Python", 292 "CNRI-Python-GPL-Compatible", 293 "Condor-1.1", 294 "copyleft-next-0.3.0", 295 "copyleft-next-0.3.1", 296 "CPAL-1.0", 297 "CPL-1.0", 298 "CPOL-1.02", 299 "Crossword", 300 "CrystalStacker", 301 "CUA-OPL-1.0", 302 "Cube", 303 "curl", 304 "D-FSL-1.0", 305 "diffmark", 306 "DOC", 307 "Dotseqn", 308 "DSDP", 309 "dvipdfm", 310 "ECL-1.0", 311 "ECL-2.0", 312 "eCos-2.0", 313 "EFL-1.0", 314 "EFL-2.0", 315 "eGenix", 316 "Entessa", 317 "EPICS", 318 "EPL-1.0", 319 "EPL-2.0", 320 "ErlPL-1.1", 321 "etalab-2.0", 322 "EUDatagrid", 323 "EUPL-1.0", 324 "EUPL-1.1", 325 "EUPL-1.2", 326 "Eurosym", 327 "Fair", 328 "Frameworx-1.0", 329 "FreeImage", 330 "FSFAP", 331 "FSFUL", 332 "FSFULLR", 333 "FTL", 334 "GFDL-1.1", 335 "GFDL-1.1-invariants-only", 336 "GFDL-1.1-invariants-or-later", 337 "GFDL-1.1-no-invariants-only", 338 "GFDL-1.1-no-invariants-or-later", 339 "GFDL-1.1-only", 340 "GFDL-1.1-or-later", 341 "GFDL-1.2", 342 "GFDL-1.2-invariants-only", 343 "GFDL-1.2-invariants-or-later", 344 "GFDL-1.2-no-invariants-only", 345 "GFDL-1.2-no-invariants-or-later", 346 "GFDL-1.2-only", 347 "GFDL-1.2-or-later", 348 "GFDL-1.3", 349 "GFDL-1.3-invariants-only", 350 "GFDL-1.3-invariants-or-later", 351 "GFDL-1.3-no-invariants-only", 352 "GFDL-1.3-no-invariants-or-later", 353 "GFDL-1.3-only", 354 "GFDL-1.3-or-later", 355 "Giftware", 356 "GL2PS", 357 "Glide", 358 "Glulxe", 359 "GLWTPL", 360 "gnuplot", 361 "GPL-1.0", 362 "GPL-1.0+", 363 "GPL-1.0-only", 364 "GPL-1.0-or-later", 365 "GPL-2.0", 366 "GPL-2.0+", 367 "GPL-2.0-only", 368 "GPL-2.0-or-later", 369 "GPL-2.0-with-autoconf-exception", 370 "GPL-2.0-with-bison-exception", 371 "GPL-2.0-with-classpath-exception", 372 "GPL-2.0-with-font-exception", 373 "GPL-2.0-with-GCC-exception", 374 "GPL-3.0", 375 "GPL-3.0+", 376 "GPL-3.0-only", 377 "GPL-3.0-or-later", 378 "GPL-3.0-with-autoconf-exception", 379 "GPL-3.0-with-GCC-exception", 380 "gSOAP-1.3b", 381 "HaskellReport", 382 "Hippocratic-2.1", 383 "HPND", 384 "HPND-sell-variant", 385 "HTMLTIDY", 386 "IBM-pibs", 387 "ICU", 388 "IJG", 389 "ImageMagick", 390 "iMatix", 391 "Imlib2", 392 "Info-ZIP", 393 "Intel", 394 "Intel-ACPI", 395 "Interbase-1.0", 396 "IPA", 397 "IPL-1.0", 398 "ISC", 399 "JasPer-2.0", 400 "JPNIC", 401 "JSON", 402 "LAL-1.2", 403 "LAL-1.3", 404 "Latex2e", 405 "Leptonica", 406 "LGPL-2.0", 407 "LGPL-2.0+", 408 "LGPL-2.0-only", 409 "LGPL-2.0-or-later", 410 "LGPL-2.1", 411 "LGPL-2.1+", 412 "LGPL-2.1-only", 413 "LGPL-2.1-or-later", 414 "LGPL-3.0", 415 "LGPL-3.0+", 416 "LGPL-3.0-only", 417 "LGPL-3.0-or-later", 418 "LGPLLR", 419 "Libpng", 420 "libpng-2.0", 421 "libselinux-1.0", 422 "libtiff", 423 "LiLiQ-P-1.1", 424 "LiLiQ-R-1.1", 425 "LiLiQ-Rplus-1.1", 426 "Linux-OpenIB", 427 "LPL-1.0", 428 "LPL-1.02", 429 "LPPL-1.0", 430 "LPPL-1.1", 431 "LPPL-1.2", 432 "LPPL-1.3a", 433 "LPPL-1.3c", 434 "MakeIndex", 435 "MirOS", 436 "MIT", 437 "MIT-0", 438 "MIT-advertising", 439 "MIT-CMU", 440 "MIT-enna", 441 "MIT-feh", 442 "MITNFA", 443 "MIT-open-group", 444 "Motosoto", 445 "mpich2", 446 "MPL-1.0", 447 "MPL-1.1", 448 "MPL-2.0", 449 "MPL-2.0-no-copyleft-exception", 450 "MS-PL", 451 "MS-RL", 452 "MTLL", 453 "MulanPSL-1.0", 454 "MulanPSL-2.0", 455 "Multics", 456 "Mup", 457 "NASA-1.3", 458 "Naumen", 459 "NBPL-1.0", 460 "NCGL-UK-2.0", 461 "NCSA", 462 "NetCDF", 463 "Net-SNMP", 464 "Newsletr", 465 "NGPL", 466 "NIST-PD", 467 "NIST-PD-fallback", 468 "NLOD-1.0", 469 "NLPL", 470 "Nokia", 471 "NOSL", 472 "Noweb", 473 "NPL-1.0", 474 "NPL-1.1", 475 "NPOSL-3.0", 476 "NRL", 477 "NTP", 478 "NTP-0", 479 "Nunit", 480 "OCCT-PL", 481 "OCLC-2.0", 482 "ODbL-1.0", 483 "ODC-By-1.0", 484 "OFL-1.0", 485 "OFL-1.0-no-RFN", 486 "OFL-1.0-RFN", 487 "OFL-1.1", 488 "OFL-1.1-no-RFN", 489 "OFL-1.1-RFN", 490 "OGC-1.0", 491 "OGL-Canada-2.0", 492 "OGL-UK-1.0", 493 "OGL-UK-2.0", 494 "OGL-UK-3.0", 495 "OGTSL", 496 "OLDAP-1.1", 497 "OLDAP-1.2", 498 "OLDAP-1.3", 499 "OLDAP-1.4", 500 "OLDAP-2.0", 501 "OLDAP-2.0.1", 502 "OLDAP-2.1", 503 "OLDAP-2.2", 504 "OLDAP-2.2.1", 505 "OLDAP-2.2.2", 506 "OLDAP-2.3", 507 "OLDAP-2.4", 508 "OLDAP-2.5", 509 "OLDAP-2.6", 510 "OLDAP-2.7", 511 "OLDAP-2.8", 512 "OML", 513 "OpenSSL", 514 "OPL-1.0", 515 "OSET-PL-2.1", 516 "OSL-1.0", 517 "OSL-1.1", 518 "OSL-2.0", 519 "OSL-2.1", 520 "OSL-3.0", 521 "O-UDA-1.0", 522 "Parity-6.0.0", 523 "Parity-7.0.0", 524 "PDDL-1.0", 525 "PHP-3.0", 526 "PHP-3.01", 527 "Plexus", 528 "PolyForm-Noncommercial-1.0.0", 529 "PolyForm-Small-Business-1.0.0", 530 "PostgreSQL", 531 "PSF-2.0", 532 "psfrag", 533 "psutils", 534 "Python-2.0", 535 "Qhull", 536 "QPL-1.0", 537 "Rdisc", 538 "RHeCos-1.1", 539 "RPL-1.1", 540 "RPL-1.5", 541 "RPSL-1.0", 542 "RSA-MD", 543 "RSCPL", 544 "Ruby", 545 "Saxpath", 546 "SAX-PD", 547 "SCEA", 548 "Sendmail", 549 "Sendmail-8.23", 550 "SGI-B-1.0", 551 "SGI-B-1.1", 552 "SGI-B-2.0", 553 "SHL-0.5", 554 "SHL-0.51", 555 "SimPL-2.0", 556 "SISSL", 557 "SISSL-1.2", 558 "Sleepycat", 559 "SMLNJ", 560 "SMPPL", 561 "SNIA", 562 "Spencer-86", 563 "Spencer-94", 564 "Spencer-99", 565 "SPL-1.0", 566 "SSH-OpenSSH", 567 "SSH-short", 568 "SSPL-1.0", 569 "StandardML-NJ", 570 "SugarCRM-1.1.3", 571 "SWL", 572 "TAPR-OHL-1.0", 573 "TCL", 574 "TCP-wrappers", 575 "TMate", 576 "TORQUE-1.1", 577 "TOSL", 578 "TU-Berlin-1.0", 579 "TU-Berlin-2.0", 580 "UCL-1.0", 581 "Unicode-DFS-2015", 582 "Unicode-DFS-2016", 583 "Unicode-TOU", 584 "Unlicense", 585 "UPL-1.0", 586 "Vim", 587 "VOSTROM", 588 "VSL-1.0", 589 "W3C", 590 "W3C-19980720", 591 "W3C-20150513", 592 "Watcom-1.0", 593 "Wsuipa", 594 "WTFPL", 595 "wxWindows", 596 "X11", 597 "Xerox", 598 "XFree86-1.1", 599 "xinetd", 600 "Xnet", 601 "xpp", 602 "XSkat", 603 "YPL-1.0", 604 "YPL-1.1", 605 "Zed", 606 "Zend-2.0", 607 "Zimbra-1.3", 608 "Zimbra-1.4", 609 "Zlib", 610 "zlib-acknowledgement", 611 "ZPL-1.1", 612 "ZPL-2.0", 613 "ZPL-2.1", 614 615 // FIXME: non SPDX licenses that the snapstore uses 616 "Proprietary", 617 } 618 619 // from https://www.google.com/url?q=https://docs.google.com/a/s.sfusd.edu/document/d/1wE_zvLU4c291ACi9wIJmQoE4ltKRW4rzM1TYiIvEVOs/edit?pli%3D1%23heading%3Dh.ruv3yl8g6czd&sa=D&ust=1473291615601000&usg=AFQjCNFyLcPLdEarX1TOesGWxg9Afb57mA 620 var licenseExceptions = []string{ 621 "Autoconf-exception-2.0", 622 "Autoconf-exception-3.0", 623 "Bison-exception-2.2", 624 "Classpath-exception-2.0", 625 "eCos-exception-2.0", 626 "Font-exception-2.0", 627 "GCC-exception-2.0", 628 "GCC-exception-3.1", 629 "WxWindows-exception-3.1", 630 }