Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data LicenseId
- = NullBSD
- | AAL
- | Abstyles
- | Adobe_2006
- | Adobe_Glyph
- | ADSL
- | AFL_1_1
- | AFL_1_2
- | AFL_2_0
- | AFL_2_1
- | AFL_3_0
- | Afmparse
- | AGPL_1_0
- | AGPL_1_0_only
- | AGPL_1_0_or_later
- | AGPL_3_0_only
- | AGPL_3_0_or_later
- | Aladdin
- | AMDPLPA
- | AML
- | AMPAS
- | ANTLR_PD
- | Apache_1_0
- | Apache_1_1
- | Apache_2_0
- | APAFML
- | APL_1_0
- | APSL_1_0
- | APSL_1_1
- | APSL_1_2
- | APSL_2_0
- | Artistic_1_0_cl8
- | Artistic_1_0_Perl
- | Artistic_1_0
- | Artistic_2_0
- | Bahyph
- | Barr
- | Beerware
- | BitTorrent_1_0
- | BitTorrent_1_1
- | Blessing
- | BlueOak_1_0_0
- | Borceux
- | BSD_1_Clause
- | BSD_2_Clause_FreeBSD
- | BSD_2_Clause_NetBSD
- | BSD_2_Clause_Patent
- | BSD_2_Clause
- | BSD_3_Clause_Attribution
- | BSD_3_Clause_Clear
- | BSD_3_Clause_LBNL
- | BSD_3_Clause_No_Nuclear_License_2014
- | BSD_3_Clause_No_Nuclear_License
- | BSD_3_Clause_No_Nuclear_Warranty
- | BSD_3_Clause_Open_MPI
- | BSD_3_Clause
- | BSD_4_Clause_UC
- | BSD_4_Clause
- | BSD_Protection
- | BSD_Source_Code
- | BSL_1_0
- | Bzip2_1_0_5
- | Bzip2_1_0_6
- | Caldera
- | CATOSL_1_1
- | CC_BY_1_0
- | CC_BY_2_0
- | CC_BY_2_5
- | CC_BY_3_0
- | CC_BY_4_0
- | CC_BY_NC_1_0
- | CC_BY_NC_2_0
- | CC_BY_NC_2_5
- | CC_BY_NC_3_0
- | CC_BY_NC_4_0
- | CC_BY_NC_ND_1_0
- | CC_BY_NC_ND_2_0
- | CC_BY_NC_ND_2_5
- | CC_BY_NC_ND_3_0
- | CC_BY_NC_ND_4_0
- | CC_BY_NC_SA_1_0
- | CC_BY_NC_SA_2_0
- | CC_BY_NC_SA_2_5
- | CC_BY_NC_SA_3_0
- | CC_BY_NC_SA_4_0
- | CC_BY_ND_1_0
- | CC_BY_ND_2_0
- | CC_BY_ND_2_5
- | CC_BY_ND_3_0
- | CC_BY_ND_4_0
- | CC_BY_SA_1_0
- | CC_BY_SA_2_0
- | CC_BY_SA_2_5
- | CC_BY_SA_3_0
- | CC_BY_SA_4_0
- | CC_PDDC
- | CC0_1_0
- | CDDL_1_0
- | CDDL_1_1
- | CDLA_Permissive_1_0
- | CDLA_Sharing_1_0
- | CECILL_1_0
- | CECILL_1_1
- | CECILL_2_0
- | CECILL_2_1
- | CECILL_B
- | CECILL_C
- | CERN_OHL_1_1
- | CERN_OHL_1_2
- | ClArtistic
- | CNRI_Jython
- | CNRI_Python_GPL_Compatible
- | CNRI_Python
- | Condor_1_1
- | Copyleft_next_0_3_0
- | Copyleft_next_0_3_1
- | CPAL_1_0
- | CPL_1_0
- | CPOL_1_02
- | Crossword
- | CrystalStacker
- | CUA_OPL_1_0
- | Cube
- | Curl
- | D_FSL_1_0
- | Diffmark
- | DOC
- | Dotseqn
- | DSDP
- | Dvipdfm
- | ECL_1_0
- | ECL_2_0
- | EFL_1_0
- | EFL_2_0
- | EGenix
- | Entessa
- | EPL_1_0
- | EPL_2_0
- | ErlPL_1_1
- | EUDatagrid
- | EUPL_1_0
- | EUPL_1_1
- | EUPL_1_2
- | Eurosym
- | Fair
- | Frameworx_1_0
- | FreeImage
- | FSFAP
- | FSFULLR
- | FSFUL
- | FTL
- | GFDL_1_1_only
- | GFDL_1_1_or_later
- | GFDL_1_2_only
- | GFDL_1_2_or_later
- | GFDL_1_3_only
- | GFDL_1_3_or_later
- | Giftware
- | GL2PS
- | Glide
- | Glulxe
- | Gnuplot
- | GPL_1_0_only
- | GPL_1_0_or_later
- | GPL_2_0_only
- | GPL_2_0_or_later
- | GPL_3_0_only
- | GPL_3_0_or_later
- | GSOAP_1_3b
- | HaskellReport
- | HPND_sell_variant
- | HPND
- | IBM_pibs
- | ICU
- | IJG
- | ImageMagick
- | IMatix
- | Imlib2
- | Info_ZIP
- | Intel_ACPI
- | Intel
- | Interbase_1_0
- | IPA
- | IPL_1_0
- | ISC
- | JasPer_2_0
- | JPNIC
- | JSON
- | LAL_1_2
- | LAL_1_3
- | Latex2e
- | Leptonica
- | LGPL_2_0_only
- | LGPL_2_0_or_later
- | LGPL_2_1_only
- | LGPL_2_1_or_later
- | LGPL_3_0_only
- | LGPL_3_0_or_later
- | LGPLLR
- | Libpng_2_0
- | Libpng
- | Libtiff
- | LiLiQ_P_1_1
- | LiLiQ_R_1_1
- | LiLiQ_Rplus_1_1
- | Linux_OpenIB
- | LPL_1_02
- | LPL_1_0
- | LPPL_1_0
- | LPPL_1_1
- | LPPL_1_2
- | LPPL_1_3a
- | LPPL_1_3c
- | MakeIndex
- | MirOS
- | MIT_0
- | MIT_advertising
- | MIT_CMU
- | MIT_enna
- | MIT_feh
- | MITNFA
- | MIT
- | Motosoto
- | Mpich2
- | MPL_1_0
- | MPL_1_1
- | MPL_2_0_no_copyleft_exception
- | MPL_2_0
- | MS_PL
- | MS_RL
- | MTLL
- | Multics
- | Mup
- | NASA_1_3
- | Naumen
- | NBPL_1_0
- | NCSA
- | Net_SNMP
- | NetCDF
- | Newsletr
- | NGPL
- | NLOD_1_0
- | NLPL
- | Nokia
- | NOSL
- | Noweb
- | NPL_1_0
- | NPL_1_1
- | NPOSL_3_0
- | NRL
- | NTP
- | OCCT_PL
- | OCLC_2_0
- | ODbL_1_0
- | ODC_By_1_0
- | OFL_1_0
- | OFL_1_1
- | OGL_UK_1_0
- | OGL_UK_2_0
- | OGL_UK_3_0
- | OGTSL
- | OLDAP_1_1
- | OLDAP_1_2
- | OLDAP_1_3
- | OLDAP_1_4
- | OLDAP_2_0_1
- | OLDAP_2_0
- | OLDAP_2_1
- | OLDAP_2_2_1
- | OLDAP_2_2_2
- | OLDAP_2_2
- | OLDAP_2_3
- | OLDAP_2_4
- | OLDAP_2_5
- | OLDAP_2_6
- | OLDAP_2_7
- | OLDAP_2_8
- | OML
- | OpenSSL
- | OPL_1_0
- | OSET_PL_2_1
- | OSL_1_0
- | OSL_1_1
- | OSL_2_0
- | OSL_2_1
- | OSL_3_0
- | Parity_6_0_0
- | PDDL_1_0
- | PHP_3_01
- | PHP_3_0
- | Plexus
- | PostgreSQL
- | Psfrag
- | Psutils
- | Python_2_0
- | Qhull
- | QPL_1_0
- | Rdisc
- | RHeCos_1_1
- | RPL_1_1
- | RPL_1_5
- | RPSL_1_0
- | RSA_MD
- | RSCPL
- | Ruby
- | SAX_PD
- | Saxpath
- | SCEA
- | Sendmail_8_23
- | Sendmail
- | SGI_B_1_0
- | SGI_B_1_1
- | SGI_B_2_0
- | SHL_0_51
- | SHL_0_5
- | SimPL_2_0
- | SISSL_1_2
- | SISSL
- | Sleepycat
- | SMLNJ
- | SMPPL
- | SNIA
- | Spencer_86
- | Spencer_94
- | Spencer_99
- | SPL_1_0
- | SSPL_1_0
- | SugarCRM_1_1_3
- | SWL
- | TAPR_OHL_1_0
- | TCL
- | TCP_wrappers
- | TMate
- | TORQUE_1_1
- | TOSL
- | TU_Berlin_1_0
- | TU_Berlin_2_0
- | Unicode_DFS_2015
- | Unicode_DFS_2016
- | Unicode_TOU
- | Unlicense
- | UPL_1_0
- | Vim
- | VOSTROM
- | VSL_1_0
- | W3C_19980720
- | W3C_20150513
- | W3C
- | Watcom_1_0
- | Wsuipa
- | WTFPL
- | X11
- | Xerox
- | XFree86_1_1
- | Xinetd
- | Xnet
- | Xpp
- | XSkat
- | YPL_1_0
- | YPL_1_1
- | Zed
- | Zend_2_0
- | Zimbra_1_3
- | Zimbra_1_4
- | Zlib_acknowledgement
- | Zlib
- | ZPL_1_1
- | ZPL_2_0
- | ZPL_2_1
- licenseId :: LicenseId -> String
- licenseName :: LicenseId -> String
- licenseIsOsiApproved :: LicenseId -> Bool
- mkLicenseId :: LicenseListVersion -> String -> Maybe LicenseId
- licenseIdList :: LicenseListVersion -> [LicenseId]
- licenseIdMigrationMessage :: String -> String
Documentation
SPDX License identifier
NullBSD |
|
AAL |
|
Abstyles |
|
Adobe_2006 |
|
Adobe_Glyph |
|
ADSL |
|
AFL_1_1 |
|
AFL_1_2 |
|
AFL_2_0 |
|
AFL_2_1 |
|
AFL_3_0 |
|
Afmparse |
|
AGPL_1_0 |
|
AGPL_1_0_only |
|
AGPL_1_0_or_later |
|
AGPL_3_0_only |
|
AGPL_3_0_or_later |
|
Aladdin |
|
AMDPLPA |
|
AML |
|
AMPAS |
|
ANTLR_PD |
|
Apache_1_0 |
|
Apache_1_1 |
|
Apache_2_0 |
|
APAFML |
|
APL_1_0 |
|
APSL_1_0 |
|
APSL_1_1 |
|
APSL_1_2 |
|
APSL_2_0 |
|
Artistic_1_0_cl8 |
|
Artistic_1_0_Perl |
|
Artistic_1_0 |
|
Artistic_2_0 |
|
Bahyph |
|
Barr |
|
Beerware |
|
BitTorrent_1_0 |
|
BitTorrent_1_1 |
|
Blessing |
|
BlueOak_1_0_0 |
|
Borceux |
|
BSD_1_Clause |
|
BSD_2_Clause_FreeBSD |
|
BSD_2_Clause_NetBSD |
|
BSD_2_Clause_Patent |
|
BSD_2_Clause |
|
BSD_3_Clause_Attribution |
|
BSD_3_Clause_Clear |
|
BSD_3_Clause_LBNL |
|
BSD_3_Clause_No_Nuclear_License_2014 |
|
BSD_3_Clause_No_Nuclear_License |
|
BSD_3_Clause_No_Nuclear_Warranty |
|
BSD_3_Clause_Open_MPI |
|
BSD_3_Clause | |
BSD_4_Clause_UC |
|
BSD_4_Clause | |
BSD_Protection |
|
BSD_Source_Code |
|
BSL_1_0 |
|
Bzip2_1_0_5 |
|
Bzip2_1_0_6 |
|
Caldera |
|
CATOSL_1_1 |
|
CC_BY_1_0 |
|
CC_BY_2_0 |
|
CC_BY_2_5 |
|
CC_BY_3_0 |
|
CC_BY_4_0 |
|
CC_BY_NC_1_0 |
|
CC_BY_NC_2_0 |
|
CC_BY_NC_2_5 |
|
CC_BY_NC_3_0 |
|
CC_BY_NC_4_0 |
|
CC_BY_NC_ND_1_0 |
|
CC_BY_NC_ND_2_0 |
|
CC_BY_NC_ND_2_5 |
|
CC_BY_NC_ND_3_0 |
|
CC_BY_NC_ND_4_0 |
|
CC_BY_NC_SA_1_0 |
|
CC_BY_NC_SA_2_0 |
|
CC_BY_NC_SA_2_5 |
|
CC_BY_NC_SA_3_0 |
|
CC_BY_NC_SA_4_0 |
|
CC_BY_ND_1_0 |
|
CC_BY_ND_2_0 |
|
CC_BY_ND_2_5 |
|
CC_BY_ND_3_0 |
|
CC_BY_ND_4_0 |
|
CC_BY_SA_1_0 |
|
CC_BY_SA_2_0 |
|
CC_BY_SA_2_5 |
|
CC_BY_SA_3_0 |
|
CC_BY_SA_4_0 |
|
CC_PDDC |
|
CC0_1_0 |
|
CDDL_1_0 |
|
CDDL_1_1 |
|
CDLA_Permissive_1_0 |
|
CDLA_Sharing_1_0 |
|
CECILL_1_0 |
|
CECILL_1_1 |
|
CECILL_2_0 |
|
CECILL_2_1 |
|
CECILL_B |
|
CECILL_C |
|
CERN_OHL_1_1 |
|
CERN_OHL_1_2 |
|
ClArtistic |
|
CNRI_Jython |
|
CNRI_Python_GPL_Compatible |
|
CNRI_Python |
|
Condor_1_1 |
|
Copyleft_next_0_3_0 |
|
Copyleft_next_0_3_1 |
|
CPAL_1_0 |
|
CPL_1_0 |
|
CPOL_1_02 |
|
Crossword |
|
CrystalStacker |
|
CUA_OPL_1_0 |
|
Cube |
|
Curl |
|
D_FSL_1_0 |
|
Diffmark |
|
DOC |
|
Dotseqn |
|
DSDP |
|
Dvipdfm |
|
ECL_1_0 |
|
ECL_2_0 |
|
EFL_1_0 |
|
EFL_2_0 |
|
EGenix |
|
Entessa |
|
EPL_1_0 |
|
EPL_2_0 |
|
ErlPL_1_1 |
|
EUDatagrid |
|
EUPL_1_0 |
|
EUPL_1_1 |
|
EUPL_1_2 |
|
Eurosym |
|
Fair |
|
Frameworx_1_0 |
|
FreeImage |
|
FSFAP |
|
FSFULLR |
|
FSFUL |
|
FTL |
|
GFDL_1_1_only |
|
GFDL_1_1_or_later |
|
GFDL_1_2_only |
|
GFDL_1_2_or_later |
|
GFDL_1_3_only |
|
GFDL_1_3_or_later |
|
Giftware |
|
GL2PS |
|
Glide |
|
Glulxe |
|
Gnuplot |
|
GPL_1_0_only |
|
GPL_1_0_or_later |
|
GPL_2_0_only |
|
GPL_2_0_or_later |
|
GPL_3_0_only |
|
GPL_3_0_or_later |
|
GSOAP_1_3b |
|
HaskellReport |
|
HPND_sell_variant |
|
HPND |
|
IBM_pibs |
|
ICU |
|
IJG |
|
ImageMagick |
|
IMatix |
|
Imlib2 |
|
Info_ZIP |
|
Intel_ACPI |
|
Intel |
|
Interbase_1_0 |
|
IPA |
|
IPL_1_0 |
|
ISC |
|
JasPer_2_0 |
|
JPNIC |
|
JSON |
|
LAL_1_2 |
|
LAL_1_3 |
|
Latex2e |
|
Leptonica |
|
LGPL_2_0_only |
|
LGPL_2_0_or_later |
|
LGPL_2_1_only |
|
LGPL_2_1_or_later |
|
LGPL_3_0_only |
|
LGPL_3_0_or_later |
|
LGPLLR |
|
Libpng_2_0 |
|
Libpng |
|
Libtiff |
|
LiLiQ_P_1_1 |
|
LiLiQ_R_1_1 |
|
LiLiQ_Rplus_1_1 |
|
Linux_OpenIB |
|
LPL_1_02 |
|
LPL_1_0 |
|
LPPL_1_0 |
|
LPPL_1_1 |
|
LPPL_1_2 |
|
LPPL_1_3a |
|
LPPL_1_3c |
|
MakeIndex |
|
MirOS |
|
MIT_0 |
|
MIT_advertising |
|
MIT_CMU |
|
MIT_enna |
|
MIT_feh |
|
MITNFA |
|
MIT |
|
Motosoto |
|
Mpich2 |
|
MPL_1_0 |
|
MPL_1_1 |
|
MPL_2_0_no_copyleft_exception |
|
MPL_2_0 |
|
MS_PL |
|
MS_RL |
|
MTLL |
|
Multics |
|
Mup |
|
NASA_1_3 |
|
Naumen |
|
NBPL_1_0 |
|
NCSA |
|
Net_SNMP |
|
NetCDF |
|
Newsletr |
|
NGPL |
|
NLOD_1_0 |
|
NLPL |
|
Nokia |
|
NOSL |
|
Noweb |
|
NPL_1_0 |
|
NPL_1_1 |
|
NPOSL_3_0 |
|
NRL |
|
NTP |
|
OCCT_PL |
|
OCLC_2_0 |
|
ODbL_1_0 |
|
ODC_By_1_0 |
|
OFL_1_0 |
|
OFL_1_1 |
|
OGL_UK_1_0 |
|
OGL_UK_2_0 |
|
OGL_UK_3_0 |
|
OGTSL |
|
OLDAP_1_1 |
|
OLDAP_1_2 |
|
OLDAP_1_3 |
|
OLDAP_1_4 |
|
OLDAP_2_0_1 |
|
OLDAP_2_0 |
|
OLDAP_2_1 |
|
OLDAP_2_2_1 |
|
OLDAP_2_2_2 |
|
OLDAP_2_2 |
|
OLDAP_2_3 |
|
OLDAP_2_4 |
|
OLDAP_2_5 |
|
OLDAP_2_6 |
|
OLDAP_2_7 |
|
OLDAP_2_8 |
|
OML |
|
OpenSSL |
|
OPL_1_0 |
|
OSET_PL_2_1 |
|
OSL_1_0 |
|
OSL_1_1 |
|
OSL_2_0 |
|
OSL_2_1 |
|
OSL_3_0 |
|
Parity_6_0_0 |
|
PDDL_1_0 |
|
PHP_3_01 |
|
PHP_3_0 |
|
Plexus |
|
PostgreSQL |
|
Psfrag |
|
Psutils |
|
Python_2_0 |
|
Qhull |
|
QPL_1_0 |
|
Rdisc |
|
RHeCos_1_1 |
|
RPL_1_1 |
|
RPL_1_5 |
|
RPSL_1_0 |
|
RSA_MD |
|
RSCPL |
|
Ruby |
|
SAX_PD |
|
Saxpath |
|
SCEA |
|
Sendmail_8_23 |
|
Sendmail |
|
SGI_B_1_0 |
|
SGI_B_1_1 |
|
SGI_B_2_0 |
|
SHL_0_51 |
|
SHL_0_5 |
|
SimPL_2_0 |
|
SISSL_1_2 |
|
SISSL |
|
Sleepycat |
|
SMLNJ |
|
SMPPL |
|
SNIA |
|
Spencer_86 |
|
Spencer_94 |
|
Spencer_99 |
|
SPL_1_0 |
|
SSPL_1_0 |
|
SugarCRM_1_1_3 |
|
SWL |
|
TAPR_OHL_1_0 |
|
TCL |
|
TCP_wrappers |
|
TMate |
|
TORQUE_1_1 |
|
TOSL |
|
TU_Berlin_1_0 |
|
TU_Berlin_2_0 |
|
Unicode_DFS_2015 |
|
Unicode_DFS_2016 |
|
Unicode_TOU |
|
Unlicense |
|
UPL_1_0 |
|
Vim |
|
VOSTROM |
|
VSL_1_0 |
|
W3C_19980720 |
|
W3C_20150513 |
|
W3C |
|
Watcom_1_0 |
|
Wsuipa |
|
WTFPL |
|
X11 |
|
Xerox |
|
XFree86_1_1 |
|
Xinetd |
|
Xnet |
|
Xpp |
|
XSkat |
|
YPL_1_0 |
|
YPL_1_1 |
|
Zed |
|
Zend_2_0 |
|
Zimbra_1_3 |
|
Zimbra_1_4 |
|
Zlib_acknowledgement |
|
Zlib |
|
ZPL_1_1 |
|
ZPL_2_0 |
|
ZPL_2_1 |
|
Instances
Bounded LicenseId # | |
Enum LicenseId # | |
Defined in Distribution.SPDX.LicenseId succ :: LicenseId -> LicenseId Source # pred :: LicenseId -> LicenseId Source # toEnum :: Int -> LicenseId Source # fromEnum :: LicenseId -> Int Source # enumFrom :: LicenseId -> [LicenseId] Source # enumFromThen :: LicenseId -> LicenseId -> [LicenseId] Source # enumFromTo :: LicenseId -> LicenseId -> [LicenseId] Source # enumFromThenTo :: LicenseId -> LicenseId -> LicenseId -> [LicenseId] Source # | |
Eq LicenseId # | |
Data LicenseId # | |
Defined in Distribution.SPDX.LicenseId gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LicenseId -> c LicenseId Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseId Source # toConstr :: LicenseId -> Constr Source # dataTypeOf :: LicenseId -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseId) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseId) Source # gmapT :: (forall b. Data b => b -> b) -> LicenseId -> LicenseId Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r Source # gmapQ :: (forall d. Data d => d -> u) -> LicenseId -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseId -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId Source # | |
Ord LicenseId # | |
Defined in Distribution.SPDX.LicenseId | |
Read LicenseId # | |
Show LicenseId # | |
Generic LicenseId # | |
Binary LicenseId # | |
NFData LicenseId # | |
Defined in Distribution.SPDX.LicenseId | |
Structured LicenseId # | |
Defined in Distribution.SPDX.LicenseId | |
Pretty LicenseId # | |
Defined in Distribution.SPDX.LicenseId | |
Parsec LicenseId # |
|
Defined in Distribution.SPDX.LicenseId parsec :: CabalParsing m => m LicenseId Source # | |
type Rep LicenseId # | |
Defined in Distribution.SPDX.LicenseId type Rep LicenseId = D1 ('MetaData "LicenseId" "Distribution.SPDX.LicenseId" "Cabal-3.2.1.0" 'False) ((((((((C1 ('MetaCons "NullBSD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AAL" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Abstyles" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Adobe_2006" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Adobe_Glyph" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ADSL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AFL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AFL_1_2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "AFL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AFL_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AFL_3_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Afmparse" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AGPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AGPL_1_0_only" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "AGPL_1_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AGPL_3_0_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AGPL_3_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Aladdin" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AMDPLPA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AML" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "AMPAS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ANTLR_PD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Apache_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Apache_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Apache_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "APAFML" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "APL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "APSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "APSL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "APSL_1_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "APSL_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Artistic_1_0_cl8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Artistic_1_0_Perl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Artistic_1_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Artistic_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Bahyph" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Barr" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Beerware" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BitTorrent_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BitTorrent_1_1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Blessing" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BlueOak_1_0_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Borceux" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BSD_1_Clause" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BSD_2_Clause_FreeBSD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_2_Clause_NetBSD" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "BSD_2_Clause_Patent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_2_Clause" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BSD_3_Clause_Attribution" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BSD_3_Clause_Clear" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_3_Clause_LBNL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BSD_3_Clause_No_Nuclear_License_2014" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BSD_3_Clause_No_Nuclear_License" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_3_Clause_No_Nuclear_Warranty" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BSD_3_Clause_Open_MPI" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BSD_3_Clause" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_4_Clause_UC" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BSD_4_Clause" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BSD_Protection" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BSD_Source_Code" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Bzip2_1_0_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Bzip2_1_0_6" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Caldera" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CATOSL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CC_BY_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_3_0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "CC_BY_4_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_NC_1_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CC_BY_NC_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_NC_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_NC_3_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CC_BY_NC_4_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_NC_ND_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_NC_ND_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CC_BY_NC_ND_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_NC_ND_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_NC_ND_4_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CC_BY_NC_SA_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_NC_SA_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_NC_SA_2_5" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CC_BY_NC_SA_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_NC_SA_4_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_ND_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CC_BY_ND_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_ND_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_ND_3_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CC_BY_ND_4_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_BY_SA_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_SA_2_0" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "CC_BY_SA_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC_BY_SA_3_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CC_BY_SA_4_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CC_PDDC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CC0_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CDDL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CDDL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CDLA_Permissive_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CDLA_Sharing_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CECILL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CECILL_1_1" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CECILL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CECILL_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CECILL_B" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CECILL_C" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CERN_OHL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CERN_OHL_1_2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ClArtistic" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CNRI_Jython" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CNRI_Python_GPL_Compatible" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CNRI_Python" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Condor_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Copyleft_next_0_3_0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Copyleft_next_0_3_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CPAL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CPOL_1_02" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Crossword" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CrystalStacker" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CUA_OPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cube" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Curl" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "D_FSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Diffmark" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "DOC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Dotseqn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DSDP" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Dvipdfm" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ECL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ECL_2_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "EFL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EFL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EGenix" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Entessa" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EPL_2_0" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "ErlPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EUDatagrid" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "EUPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EUPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EUPL_1_2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Eurosym" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Fair" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Frameworx_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "FreeImage" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FSFAP" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FSFULLR" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FSFUL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FTL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GFDL_1_1_only" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "GFDL_1_1_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GFDL_1_2_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GFDL_1_2_or_later" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "GFDL_1_3_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GFDL_1_3_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Giftware" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "GL2PS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Glide" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Glulxe" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Gnuplot" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GPL_1_0_only" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GPL_1_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GPL_2_0_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GPL_2_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "GPL_3_0_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GPL_3_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GSOAP_1_3b" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "HaskellReport" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HPND_sell_variant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HPND" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "IBM_pibs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IJG" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ImageMagick" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IMatix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Imlib2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Info_ZIP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Intel_ACPI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Intel" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Interbase_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IPA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type))))))))) :+: (((((((C1 ('MetaCons "ISC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JasPer_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "JPNIC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "JSON" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LAL_1_2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "LAL_1_3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Latex2e" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Leptonica" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LGPL_2_0_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LGPL_2_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LGPL_2_1_only" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "LGPL_2_1_or_later" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LGPL_3_0_only" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LGPL_3_0_or_later" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LGPLLR" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Libpng_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Libpng" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Libtiff" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LiLiQ_P_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LiLiQ_R_1_1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LiLiQ_Rplus_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Linux_OpenIB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LPL_1_02" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "LPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LPPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LPPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LPPL_1_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LPPL_1_3a" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "LPPL_1_3c" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MakeIndex" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MirOS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MIT_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MIT_advertising" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MIT_CMU" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MIT_enna" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MIT_feh" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MITNFA" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MIT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Motosoto" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Mpich2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MPL_2_0_no_copyleft_exception" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MPL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MS_PL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MS_RL" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "MTLL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Multics" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mup" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NASA_1_3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Naumen" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "NBPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NCSA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Net_SNMP" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "NetCDF" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Newsletr" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NGPL" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "NLOD_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NLPL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Nokia" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "NOSL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Noweb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "NPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NPOSL_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NRL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "NTP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OCCT_PL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OCLC_2_0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "ODbL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ODC_By_1_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OFL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OFL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OGL_UK_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "OGL_UK_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OGL_UK_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OGTSL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OLDAP_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OLDAP_1_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OLDAP_1_3" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "OLDAP_1_4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OLDAP_2_0_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OLDAP_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OLDAP_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OLDAP_2_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OLDAP_2_2_2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "OLDAP_2_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OLDAP_2_3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OLDAP_2_4" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OLDAP_2_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OLDAP_2_6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OLDAP_2_7" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "OLDAP_2_8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OML" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OpenSSL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OSET_PL_2_1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "OSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OSL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OSL_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OSL_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OSL_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Parity_6_0_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "PDDL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PHP_3_01" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PHP_3_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Plexus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PostgreSQL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Psfrag" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Psutils" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Python_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Qhull" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "QPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Rdisc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RHeCos_1_1" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "RPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RPL_1_5" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RPSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RSA_MD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSCPL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Ruby" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SAX_PD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Saxpath" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SCEA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sendmail_8_23" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sendmail" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "SGI_B_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SGI_B_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SGI_B_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SHL_0_51" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SHL_0_5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SimPL_2_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SISSL_1_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SISSL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sleepycat" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SMLNJ" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SMPPL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SNIA" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "Spencer_86" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Spencer_94" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Spencer_99" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SSPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SugarCRM_1_1_3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SWL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TAPR_OHL_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TCL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCP_wrappers" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TMate" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "TORQUE_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TOSL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TU_Berlin_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TU_Berlin_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Unicode_DFS_2015" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unicode_DFS_2016" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Unicode_TOU" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Unlicense" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Vim" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VOSTROM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VSL_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "W3C_19980720" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "W3C_20150513" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "W3C" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Watcom_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Wsuipa" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WTFPL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "X11" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Xerox" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "XFree86_1_1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Xinetd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Xnet" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Xpp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "XSkat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "YPL_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "YPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Zed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Zend_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Zimbra_1_3" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Zimbra_1_4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Zlib_acknowledgement" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Zlib" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ZPL_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ZPL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ZPL_2_1" 'PrefixI 'False) (U1 :: Type -> Type)))))))))) |
licenseName :: LicenseId -> String Source #
License name, e.g. "GNU General Public License v2.0 only"
licenseIsOsiApproved :: LicenseId -> Bool Source #
Whether the license is approved by Open Source Initiative (OSI).
mkLicenseId :: LicenseListVersion -> String -> Maybe LicenseId Source #
licenseIdList :: LicenseListVersion -> [LicenseId] Source #
Helpers
licenseIdMigrationMessage :: String -> String Source #
Help message for migrating from non-SPDX license identifiers.
Old License
is almost SPDX, except for BSD2
, BSD3
. This function
suggests SPDX variant:
>>>
licenseIdMigrationMessage "BSD3"
"Do you mean BSD-3-Clause?"
Also OtherLicense
, AllRightsReserved
, and PublicDomain
aren't
valid SPDX identifiers
>>>
traverse_ (print . licenseIdMigrationMessage) [ "OtherLicense", "AllRightsReserved", "PublicDomain" ]
"SPDX license list contains plenty of licenses. See https://spdx.org/licenses/. Also they can be combined into complex expressions with AND and OR." "You can use NONE as a value of license field." "Public Domain is a complex matter. See https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files. Consider using a proper license."
SPDX License list version 3.0 introduced "-only" and "-or-later" variants for GNU family of licenses. See https://spdx.org/news/news/2018/01/license-list-30-released >>> licenseIdMigrationMessage "GPL-2.0" "SPDX license list 3.0 deprecated suffixless variants of GNU family of licenses. Use GPL-2.0-only or GPL-2.0-or-later."
For other common licenses their old license format coincides with the SPDX identifiers:
>>>
traverse eitherParsec ["GPL-2.0-only", "GPL-3.0-only", "LGPL-2.1-only", "MIT", "ISC", "MPL-2.0", "Apache-2.0"] :: Either String [LicenseId]
Right [GPL_2_0_only,GPL_3_0_only,LGPL_2_1_only,MIT,ISC,MPL_2_0,Apache_2_0]