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  }