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
- | 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
- | 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
- | 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
- | ClArtistic
- | CNRI_Jython
- | CNRI_Python_GPL_Compatible
- | CNRI_Python
- | Condor_1_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
- | FSFUL
- | FSFULLR
- | 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
- | IBM_pibs
- | ICU
- | IJG
- | ImageMagick
- | IMatix
- | Imlib2
- | Info_ZIP
- | Intel_ACPI
- | Intel
- | Interbase_1_0
- | IPA
- | IPL_1_0
- | ISC
- | JasPer_2_0
- | 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
- | Libtiff
- | LiLiQ_P_1_1
- | LiLiQ_R_1_1
- | LiLiQ_Rplus_1_1
- | Linux_OpenIB
- | LPL_1_0
- | LPL_1_02
- | 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
- | MIT
- | MITNFA
- | 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
- | 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
- | PDDL_1_0
- | PHP_3_0
- | PHP_3_01
- | 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
- | SGI_B_1_0
- | SGI_B_1_1
- | SGI_B_2_0
- | SimPL_2_0
- | SISSL_1_2
- | SISSL
- | Sleepycat
- | SMLNJ
- | SMPPL
- | SNIA
- | Spencer_86
- | Spencer_94
- | Spencer_99
- | SPL_1_0
- | SugarCRM_1_1_3
- | SWL
- | 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 |
|
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 | |
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 |
|
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 |
|
ClArtistic |
|
CNRI_Jython |
|
CNRI_Python_GPL_Compatible |
|
CNRI_Python |
|
Condor_1_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 |
|
FSFUL |
|
FSFULLR |
|
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 |
|
IBM_pibs |
|
ICU |
|
IJG |
|
ImageMagick |
|
IMatix |
|
Imlib2 |
|
Info_ZIP |
|
Intel_ACPI |
|
Intel |
|
Interbase_1_0 |
|
IPA |
|
IPL_1_0 |
|
ISC |
|
JasPer_2_0 |
|
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 |
|
Libtiff |
|
LiLiQ_P_1_1 |
|
LiLiQ_R_1_1 |
|
LiLiQ_Rplus_1_1 |
|
Linux_OpenIB |
|
LPL_1_0 |
|
LPL_1_02 |
|
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 |
|
MIT |
|
MITNFA |
|
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 |
|
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 |
|
PDDL_1_0 |
|
PHP_3_0 |
|
PHP_3_01 |
|
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 |
|
SGI_B_1_0 |
|
SGI_B_1_1 |
|
SGI_B_2_0 |
|
SimPL_2_0 |
|
SISSL_1_2 |
|
SISSL |
|
Sleepycat |
|
SMLNJ |
|
SMPPL |
|
SNIA |
|
Spencer_86 |
|
Spencer_94 |
|
Spencer_99 |
|
SPL_1_0 |
|
SugarCRM_1_1_3 |
|
SWL |
|
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 # pred :: LicenseId -> LicenseId # fromEnum :: LicenseId -> Int # enumFrom :: LicenseId -> [LicenseId] # enumFromThen :: LicenseId -> LicenseId -> [LicenseId] # enumFromTo :: LicenseId -> LicenseId -> [LicenseId] # enumFromThenTo :: LicenseId -> LicenseId -> LicenseId -> [LicenseId] # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseId # toConstr :: LicenseId -> Constr # dataTypeOf :: LicenseId -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseId) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseId) # gmapT :: (forall b. Data b => b -> b) -> LicenseId -> LicenseId # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r # gmapQ :: (forall d. Data d => d -> u) -> LicenseId -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseId -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId # | |
Ord LicenseId # | |
Defined in Distribution.SPDX.LicenseId | |
Read LicenseId # | |
Show LicenseId # | |
Generic LicenseId # | |
Binary LicenseId # | |
NFData 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 # | |
type Rep LicenseId # | |
Defined in Distribution.SPDX.LicenseId type Rep LicenseId = D1 (MetaData "LicenseId" "Distribution.SPDX.LicenseId" "Cabal-2.4.1.0-ALhzvdqe44A7vLWPOxSupv" False) ((((((((C1 (MetaCons "NullBSD" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AAL" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Abstyles" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Adobe_2006" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Adobe_Glyph" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "ADSL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AFL_1_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "AFL_1_2" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "AFL_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AFL_2_1" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "AFL_3_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Afmparse" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "AGPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "AGPL_1_0_only" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AGPL_1_0_or_later" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "AGPL_3_0_only" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "AGPL_3_0_or_later" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Aladdin" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "AMDPLPA" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "AML" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AMPAS" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "ANTLR_PD" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Apache_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Apache_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Apache_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "APAFML" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "APL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "APSL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "APSL_1_1" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "APSL_1_2" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "APSL_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Artistic_1_0_cl8" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "Artistic_1_0_Perl" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Artistic_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Artistic_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Bahyph" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Barr" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Beerware" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BitTorrent_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BitTorrent_1_1" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Borceux" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BSD_1_Clause" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_2_Clause_FreeBSD" PrefixI False) (U1 :: * -> *))))))) :+: (((((C1 (MetaCons "BSD_2_Clause_NetBSD" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_2_Clause_Patent" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "BSD_2_Clause" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BSD_3_Clause_Attribution" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_3_Clause_Clear" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "BSD_3_Clause_LBNL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BSD_3_Clause_No_Nuclear_License_2014" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_3_Clause_No_Nuclear_License" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "BSD_3_Clause_No_Nuclear_Warranty" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BSD_3_Clause" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_4_Clause_UC" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "BSD_4_Clause" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BSD_Protection" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "BSD_Source_Code" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BSL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Bzip2_1_0_5" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Bzip2_1_0_6" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Caldera" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CATOSL_1_1" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "CC_BY_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_2_5" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "CC_BY_3_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_4_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CC_BY_NC_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_NC_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_NC_2_5" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "CC_BY_NC_3_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_NC_4_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_NC_ND_1_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "CC_BY_NC_ND_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_NC_ND_2_5" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_NC_ND_3_0" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "CC_BY_NC_ND_4_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_NC_SA_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CC_BY_NC_SA_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_NC_SA_2_5" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_NC_SA_3_0" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "CC_BY_NC_SA_4_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_ND_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_ND_2_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "CC_BY_ND_2_5" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_ND_3_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_ND_4_0" PrefixI False) (U1 :: * -> *)))))))) :+: ((((((C1 (MetaCons "CC_BY_SA_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_SA_2_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CC_BY_SA_2_5" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CC_BY_SA_3_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CC_BY_SA_4_0" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "CC0_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CDDL_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CDDL_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CDLA_Permissive_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CDLA_Sharing_1_0" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "CECILL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CECILL_1_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CECILL_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CECILL_2_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CECILL_B" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "CECILL_C" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ClArtistic" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CNRI_Jython" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "CNRI_Python_GPL_Compatible" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CNRI_Python" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Condor_1_1" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "CPAL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CPL_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CPOL_1_02" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Crossword" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CrystalStacker" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "CUA_OPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Cube" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Curl" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "D_FSL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Diffmark" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "DOC" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "Dotseqn" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "DSDP" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Dvipdfm" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ECL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ECL_2_0" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "EFL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EFL_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EGenix" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Entessa" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EPL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EPL_2_0" PrefixI False) (U1 :: * -> *))))))) :+: (((((C1 (MetaCons "ErlPL_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EUDatagrid" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "EUPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EUPL_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EUPL_1_2" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Eurosym" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Fair" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Frameworx_1_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "FreeImage" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "FSFAP" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "FSFUL" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "FSFULLR" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "FTL" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "GFDL_1_1_only" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "GFDL_1_1_or_later" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "GFDL_1_2_only" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "GFDL_1_2_or_later" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "GFDL_1_3_only" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "GFDL_1_3_or_later" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Giftware" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "GL2PS" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Glide" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "Glulxe" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Gnuplot" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "GPL_1_0_only" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "GPL_1_0_or_later" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "GPL_2_0_only" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "GPL_2_0_or_later" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "GPL_3_0_only" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "GPL_3_0_or_later" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "GSOAP_1_3b" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "HaskellReport" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "HPND" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "IBM_pibs" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ICU" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "IJG" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ImageMagick" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "IMatix" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Imlib2" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Info_ZIP" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Intel_ACPI" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Intel" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Interbase_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "IPA" PrefixI False) (U1 :: * -> *))))))))) :+: (((((((C1 (MetaCons "IPL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ISC" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "JasPer_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "JSON" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LAL_1_2" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "LAL_1_3" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Latex2e" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Leptonica" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LGPL_2_0_only" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LGPL_2_0_or_later" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "LGPL_2_1_only" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LGPL_2_1_or_later" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "LGPL_3_0_only" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LGPL_3_0_or_later" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LGPLLR" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Libpng" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Libtiff" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LiLiQ_P_1_1" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "LiLiQ_R_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LiLiQ_Rplus_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Linux_OpenIB" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "LPL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LPL_1_02" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "LPPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LPPL_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "LPPL_1_2" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "LPPL_1_3a" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LPPL_1_3c" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MakeIndex" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "MirOS" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "MIT_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MIT_advertising" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "MIT_CMU" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MIT_enna" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "MIT_feh" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "MIT" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MITNFA" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Motosoto" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Mpich2" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MPL_1_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "MPL_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "MPL_2_0_no_copyleft_exception" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MPL_2_0" PrefixI False) (U1 :: * -> *))))))) :+: (((((C1 (MetaCons "MS_PL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MS_RL" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "MTLL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Multics" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Mup" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "NASA_1_3" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Naumen" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "NBPL_1_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "NCSA" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Net_SNMP" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "NetCDF" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "Newsletr" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "NGPL" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "NLOD_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "NLPL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Nokia" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "NOSL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Noweb" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "NPL_1_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "NPL_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "NPOSL_3_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "NRL" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "NTP" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OCCT_PL" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "OCLC_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ODbL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ODC_By_1_0" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "OFL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OFL_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OGTSL" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "OLDAP_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OLDAP_1_2" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_1_3" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "OLDAP_1_4" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_2_0_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "OLDAP_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OLDAP_2_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_2_2_1" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "OLDAP_2_2_2" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OLDAP_2_2" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_2_3" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "OLDAP_2_4" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OLDAP_2_5" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_2_6" PrefixI False) (U1 :: * -> *)))))))) :+: ((((((C1 (MetaCons "OLDAP_2_7" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OLDAP_2_8" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "OML" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OpenSSL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OPL_1_0" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "OSET_PL_2_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OSL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OSL_1_1" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "OSL_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "OSL_2_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "OSL_3_0" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "PDDL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "PHP_3_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "PHP_3_01" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Plexus" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "PostgreSQL" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Psfrag" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Psutils" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Python_2_0" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Qhull" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "QPL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Rdisc" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "RHeCos_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "RPL_1_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "RPL_1_5" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "RPSL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "RSA_MD" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "RSCPL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Ruby" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SAX_PD" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Saxpath" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "SCEA" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Sendmail" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "SGI_B_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SGI_B_1_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "SGI_B_2_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "SimPL_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SISSL_1_2" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "SISSL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Sleepycat" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SMLNJ" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "SMPPL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "SNIA" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Spencer_86" PrefixI False) (U1 :: * -> *))))))) :+: (((((C1 (MetaCons "Spencer_94" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Spencer_99" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "SPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "SugarCRM_1_1_3" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SWL" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "TCL" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "TCP_wrappers" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "TMate" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "TORQUE_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "TOSL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "TU_Berlin_1_0" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "TU_Berlin_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Unicode_DFS_2015" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Unicode_DFS_2016" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Unicode_TOU" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Unlicense" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "UPL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Vim" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "VOSTROM" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "VSL_1_0" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "W3C_19980720" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "W3C_20150513" PrefixI False) (U1 :: * -> *)))))) :+: ((((C1 (MetaCons "W3C" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Watcom_1_0" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Wsuipa" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "WTFPL" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "X11" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Xerox" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "XFree86_1_1" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Xinetd" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "Xnet" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Xpp" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "XSkat" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "YPL_1_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "YPL_1_1" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Zed" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Zend_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Zimbra_1_3" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "Zimbra_1_4" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Zlib_acknowledgement" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Zlib" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "ZPL_1_1" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ZPL_2_0" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ZPL_2_1" PrefixI False) (U1 :: * -> *)))))))))) |
licenseName :: LicenseId -> String #
License name, e.g. "GNU General Public License v2.0 only"
licenseIsOsiApproved :: LicenseId -> Bool #
Whether the license is approved by Open Source Initiative (OSI).
mkLicenseId :: LicenseListVersion -> String -> Maybe LicenseId #
licenseIdList :: LicenseListVersion -> [LicenseId] #
Helpers
licenseIdMigrationMessage :: String -> String #
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]