Commit 3fd6d070 authored by Oleg Grenrus's avatar Oleg Grenrus
Browse files

Add SPDX License List 3.8 (2020-02-09)

parent 613a2a25
......@@ -47,25 +47,27 @@ data LicenseExceptionId
| GCC_exception_2_0 -- ^ @GCC-exception-2.0@, GCC Runtime Library exception 2.0
| GCC_exception_3_1 -- ^ @GCC-exception-3.1@, GCC Runtime Library exception 3.1
| Gnu_javamail_exception -- ^ @gnu-javamail-exception@, GNU JavaMail exception
| GPL_CC_1_0 -- ^ @GPL-CC-1.0@, GPL Cooperation Commitment 1.0, SPDX License List 3.6
| GPL_3_0_linking_exception -- ^ @GPL-3.0-linking-exception@, GPL-3.0 Linking Exception, SPDX License List 3.8
| GPL_3_0_linking_source_exception -- ^ @GPL-3.0-linking-source-exception@, GPL-3.0 Linking Exception (with Corresponding Source), SPDX License List 3.8
| GPL_CC_1_0 -- ^ @GPL-CC-1.0@, GPL Cooperation Commitment 1.0, SPDX License List 3.6, SPDX License List 3.8
| I2p_gpl_java_exception -- ^ @i2p-gpl-java-exception@, i2p GPL+Java Exception
| Libtool_exception -- ^ @Libtool-exception@, Libtool Exception
| Linux_syscall_note -- ^ @Linux-syscall-note@, Linux Syscall Note
| LLVM_exception -- ^ @LLVM-exception@, LLVM Exception, SPDX License List 3.2, SPDX License List 3.6
| LLVM_exception -- ^ @LLVM-exception@, LLVM Exception, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.8
| LZMA_exception -- ^ @LZMA-exception@, LZMA exception
| Mif_exception -- ^ @mif-exception@, Macros and Inline Functions Exception
| Nokia_Qt_exception_1_1 -- ^ @Nokia-Qt-exception-1.1@, Nokia Qt LGPL exception 1.1, SPDX License List 3.0, SPDX License List 3.2
| OCaml_LGPL_linking_exception -- ^ @OCaml-LGPL-linking-exception@, OCaml LGPL Linking Exception, SPDX License List 3.6
| OCaml_LGPL_linking_exception -- ^ @OCaml-LGPL-linking-exception@, OCaml LGPL Linking Exception, SPDX License List 3.6, SPDX License List 3.8
| OCCT_exception_1_0 -- ^ @OCCT-exception-1.0@, Open CASCADE Exception 1.0
| OpenJDK_assembly_exception_1_0 -- ^ @OpenJDK-assembly-exception-1.0@, OpenJDK Assembly exception 1.0, SPDX License List 3.2, SPDX License List 3.6
| OpenJDK_assembly_exception_1_0 -- ^ @OpenJDK-assembly-exception-1.0@, OpenJDK Assembly exception 1.0, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.8
| Openvpn_openssl_exception -- ^ @openvpn-openssl-exception@, OpenVPN OpenSSL Exception
| PS_or_PDF_font_exception_20170817 -- ^ @PS-or-PDF-font-exception-20170817@, PS/PDF font exception (2017-08-17), SPDX License List 3.2, SPDX License List 3.6
| Qt_GPL_exception_1_0 -- ^ @Qt-GPL-exception-1.0@, Qt GPL exception 1.0, SPDX License List 3.2, SPDX License List 3.6
| Qt_LGPL_exception_1_1 -- ^ @Qt-LGPL-exception-1.1@, Qt LGPL exception 1.1, SPDX License List 3.2, SPDX License List 3.6
| PS_or_PDF_font_exception_20170817 -- ^ @PS-or-PDF-font-exception-20170817@, PS/PDF font exception (2017-08-17), SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.8
| Qt_GPL_exception_1_0 -- ^ @Qt-GPL-exception-1.0@, Qt GPL exception 1.0, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.8
| Qt_LGPL_exception_1_1 -- ^ @Qt-LGPL-exception-1.1@, Qt LGPL exception 1.1, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.8
| Qwt_exception_1_0 -- ^ @Qwt-exception-1.0@, Qwt exception 1.0
| Swift_exception -- ^ @Swift-exception@, Swift Exception, SPDX License List 3.6
| Swift_exception -- ^ @Swift-exception@, Swift Exception, SPDX License List 3.6, SPDX License List 3.8
| U_boot_exception_2_0 -- ^ @u-boot-exception-2.0@, U-Boot exception 2.0
| Universal_FOSS_exception_1_0 -- ^ @Universal-FOSS-exception-1.0@, Universal FOSS Exception, Version 1.0, SPDX License List 3.6
| Universal_FOSS_exception_1_0 -- ^ @Universal-FOSS-exception-1.0@, Universal FOSS Exception, Version 1.0, SPDX License List 3.6, SPDX License List 3.8
| WxWindows_exception_3_1 -- ^ @WxWindows-exception-3.1@, WxWindows Library Exception 3.1
deriving (Eq, Ord, Enum, Bounded, Show, Read, Typeable, Data, Generic)
......@@ -116,6 +118,8 @@ licenseExceptionId Freertos_exception_2_0 = "freertos-exception-2.0"
licenseExceptionId GCC_exception_2_0 = "GCC-exception-2.0"
licenseExceptionId GCC_exception_3_1 = "GCC-exception-3.1"
licenseExceptionId Gnu_javamail_exception = "gnu-javamail-exception"
licenseExceptionId GPL_3_0_linking_exception = "GPL-3.0-linking-exception"
licenseExceptionId GPL_3_0_linking_source_exception = "GPL-3.0-linking-source-exception"
licenseExceptionId GPL_CC_1_0 = "GPL-CC-1.0"
licenseExceptionId I2p_gpl_java_exception = "i2p-gpl-java-exception"
licenseExceptionId Libtool_exception = "Libtool-exception"
......@@ -155,6 +159,8 @@ licenseExceptionName Freertos_exception_2_0 = "FreeRTOS Exception 2.0"
licenseExceptionName GCC_exception_2_0 = "GCC Runtime Library exception 2.0"
licenseExceptionName GCC_exception_3_1 = "GCC Runtime Library exception 3.1"
licenseExceptionName Gnu_javamail_exception = "GNU JavaMail exception"
licenseExceptionName GPL_3_0_linking_exception = "GPL-3.0 Linking Exception"
licenseExceptionName GPL_3_0_linking_source_exception = "GPL-3.0 Linking Exception (with Corresponding Source)"
licenseExceptionName GPL_CC_1_0 = "GPL Cooperation Commitment 1.0"
licenseExceptionName I2p_gpl_java_exception = "i2p GPL+Java Exception"
licenseExceptionName Libtool_exception = "Libtool Exception"
......@@ -206,12 +212,27 @@ licenseExceptionIdList LicenseListVersion_3_6 =
, Universal_FOSS_exception_1_0
]
++ bulkOfLicenses
licenseExceptionIdList LicenseListVersion_3_8 =
[ GPL_3_0_linking_exception
, GPL_3_0_linking_source_exception
, GPL_CC_1_0
, LLVM_exception
, OCaml_LGPL_linking_exception
, OpenJDK_assembly_exception_1_0
, PS_or_PDF_font_exception_20170817
, Qt_GPL_exception_1_0
, Qt_LGPL_exception_1_1
, Swift_exception
, Universal_FOSS_exception_1_0
]
++ bulkOfLicenses
-- | Create a 'LicenseExceptionId' from a 'String'.
mkLicenseExceptionId :: LicenseListVersion -> String -> Maybe LicenseExceptionId
mkLicenseExceptionId LicenseListVersion_3_0 s = Map.lookup s stringLookup_3_0
mkLicenseExceptionId LicenseListVersion_3_2 s = Map.lookup s stringLookup_3_2
mkLicenseExceptionId LicenseListVersion_3_6 s = Map.lookup s stringLookup_3_6
mkLicenseExceptionId LicenseListVersion_3_8 s = Map.lookup s stringLookup_3_8
stringLookup_3_0 :: Map String LicenseExceptionId
stringLookup_3_0 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
......@@ -225,6 +246,10 @@ stringLookup_3_6 :: Map String LicenseExceptionId
stringLookup_3_6 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
licenseExceptionIdList LicenseListVersion_3_6
stringLookup_3_8 :: Map String LicenseExceptionId
stringLookup_3_8 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
licenseExceptionIdList LicenseListVersion_3_8
-- | License exceptions in all SPDX License lists
bulkOfLicenses :: [LicenseExceptionId]
bulkOfLicenses =
......
This diff is collapsed.
......@@ -10,6 +10,7 @@ data LicenseListVersion
= LicenseListVersion_3_0
| LicenseListVersion_3_2
| LicenseListVersion_3_6
| LicenseListVersion_3_8
deriving (Eq, Ord, Show, Enum, Bounded)
cabalSpecVersionToSPDXListVersion :: CabalSpecVersion -> LicenseListVersion
......
......@@ -39,10 +39,10 @@ SPDX_EXCEPTION_HS:=Cabal/Distribution/SPDX/LicenseExceptionId.hs
spdx : $(SPDX_LICENSE_HS) $(SPDX_EXCEPTION_HS)
$(SPDX_LICENSE_HS) : boot/SPDX.LicenseId.template.hs cabal-dev-scripts/src/GenUtils.hs cabal-dev-scripts/src/GenSPDX.hs license-list-data/licenses-3.0.json license-list-data/licenses-3.2.json
cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta gen-spdx -- boot/SPDX.LicenseId.template.hs license-list-data/licenses-3.0.json license-list-data/licenses-3.2.json license-list-data/licenses-3.6.json $(SPDX_LICENSE_HS)
cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta gen-spdx -- boot/SPDX.LicenseId.template.hs license-list-data/licenses-3.0.json license-list-data/licenses-3.2.json license-list-data/licenses-3.6.json license-list-data/licenses-3.8.json $(SPDX_LICENSE_HS)
$(SPDX_EXCEPTION_HS) : boot/SPDX.LicenseExceptionId.template.hs cabal-dev-scripts/src/GenUtils.hs cabal-dev-scripts/src/GenSPDXExc.hs license-list-data/exceptions-3.0.json license-list-data/exceptions-3.2.json
cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta gen-spdx-exc -- boot/SPDX.LicenseExceptionId.template.hs license-list-data/exceptions-3.0.json license-list-data/exceptions-3.2.json license-list-data/exceptions-3.6.json $(SPDX_EXCEPTION_HS)
cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta gen-spdx-exc -- boot/SPDX.LicenseExceptionId.template.hs license-list-data/exceptions-3.0.json license-list-data/exceptions-3.2.json license-list-data/exceptions-3.6.json license-list-data/exceptions-3.8.json $(SPDX_EXCEPTION_HS)
# source generation: templates
......
......@@ -88,12 +88,16 @@ licenseExceptionIdList LicenseListVersion_3_2 =
licenseExceptionIdList LicenseListVersion_3_6 =
{{licenseList_3_6}}
++ bulkOfLicenses
licenseExceptionIdList LicenseListVersion_3_8 =
{{licenseList_3_8}}
++ bulkOfLicenses
-- | Create a 'LicenseExceptionId' from a 'String'.
mkLicenseExceptionId :: LicenseListVersion -> String -> Maybe LicenseExceptionId
mkLicenseExceptionId LicenseListVersion_3_0 s = Map.lookup s stringLookup_3_0
mkLicenseExceptionId LicenseListVersion_3_2 s = Map.lookup s stringLookup_3_2
mkLicenseExceptionId LicenseListVersion_3_6 s = Map.lookup s stringLookup_3_6
mkLicenseExceptionId LicenseListVersion_3_8 s = Map.lookup s stringLookup_3_8
stringLookup_3_0 :: Map String LicenseExceptionId
stringLookup_3_0 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
......@@ -107,6 +111,10 @@ stringLookup_3_6 :: Map String LicenseExceptionId
stringLookup_3_6 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
licenseExceptionIdList LicenseListVersion_3_6
stringLookup_3_8 :: Map String LicenseExceptionId
stringLookup_3_8 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
licenseExceptionIdList LicenseListVersion_3_8
-- | License exceptions in all SPDX License lists
bulkOfLicenses :: [LicenseExceptionId]
bulkOfLicenses =
......
......@@ -148,12 +148,16 @@ licenseIdList LicenseListVersion_3_2 =
licenseIdList LicenseListVersion_3_6 =
{{licenseList_3_6}}
++ bulkOfLicenses
licenseIdList LicenseListVersion_3_8 =
{{licenseList_3_8}}
++ bulkOfLicenses
-- | Create a 'LicenseId' from a 'String'.
mkLicenseId :: LicenseListVersion -> String -> Maybe LicenseId
mkLicenseId LicenseListVersion_3_0 s = Map.lookup s stringLookup_3_0
mkLicenseId LicenseListVersion_3_2 s = Map.lookup s stringLookup_3_2
mkLicenseId LicenseListVersion_3_6 s = Map.lookup s stringLookup_3_6
mkLicenseId LicenseListVersion_3_8 s = Map.lookup s stringLookup_3_8
stringLookup_3_0 :: Map String LicenseId
stringLookup_3_0 = Map.fromList $ map (\i -> (licenseId i, i)) $
......@@ -167,6 +171,10 @@ stringLookup_3_6 :: Map String LicenseId
stringLookup_3_6 = Map.fromList $ map (\i -> (licenseId i, i)) $
licenseIdList LicenseListVersion_3_6
stringLookup_3_8 :: Map String LicenseId
stringLookup_3_8 = Map.fromList $ map (\i -> (licenseId i, i)) $
licenseIdList LicenseListVersion_3_8
-- | Licenses in all SPDX License lists
bulkOfLicenses :: [LicenseId]
bulkOfLicenses =
......
......@@ -34,7 +34,7 @@ executable gen-spdx
, bytestring
, containers
, Diff ^>=0.4
, lens ^>=4.18.1
, lens ^>=4.18.1 || ^>=4.19.1
, optparse-applicative ^>=0.15.1.0
, text
, zinza ^>=0.2
......@@ -51,7 +51,7 @@ executable gen-spdx-exc
, bytestring
, containers
, Diff ^>=0.4
, lens ^>=4.18.1
, lens ^>=4.18.1 || ^>=4.19.1
, optparse-applicative ^>=0.15.1.0
, text
, zinza ^>=0.2
......
......@@ -33,6 +33,7 @@ main = generate =<< O.execParser opts where
<$> licenses "3.0"
<*> licenses "3.2"
<*> licenses "3.6"
<*> licenses "3.8"
template = O.strArgument $ mconcat
[ O.metavar "SPDX.LicenseId.template.hs"
......@@ -71,14 +72,17 @@ generate' lss template = template $ Input
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_2 vers)
, inputLicenseList_3_6 = mkLicenseList
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_6 vers)
, inputLicenseList_3_8 = mkLicenseList
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_8 vers)
}
where
PerV (LL ls_3_0) (LL ls_3_2) (LL ls_3_6) = lss
PerV (LL ls_3_0) (LL ls_3_2) (LL ls_3_6) (LL ls_3_8) = lss
constructorNames :: [(Text, License, Set.Set SPDXLicenseListVersion)]
constructorNames
= map (\(l, tags) -> (toConstructorName $ licenseId l, l, tags))
$ combine licenseId $ \ver -> case ver of
SPDXLicenseListVersion_3_8 -> filterDeprecated ls_3_8
SPDXLicenseListVersion_3_6 -> filterDeprecated ls_3_6
SPDXLicenseListVersion_3_2 -> filterDeprecated ls_3_2
SPDXLicenseListVersion_3_0 -> filterDeprecated ls_3_0
......
......@@ -32,6 +32,7 @@ main = generate =<< O.execParser opts where
<$> licenses "3.0"
<*> licenses "3.2"
<*> licenses "3.6"
<*> licenses "3.8"
template = O.strArgument $ mconcat
[ O.metavar "SPDX.LicenseExceptionId.template.hs"
......@@ -70,14 +71,17 @@ generate' lss template = template $ Input
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_2 vers)
, inputLicenseList_3_6 = mkLicenseList
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_6 vers)
, inputLicenseList_3_8 = mkLicenseList
(\vers -> vers /= allVers && Set.member SPDXLicenseListVersion_3_8 vers)
}
where
PerV (LL ls_3_0) (LL ls_3_2) (LL ls_3_6) = lss
PerV (LL ls_3_0) (LL ls_3_2) (LL ls_3_6) (LL ls_3_8) = lss
constructorNames :: [(Text, License, Set.Set SPDXLicenseListVersion)]
constructorNames
= map (\(l, tags) -> (toConstructorName $ licenseId l, l, tags))
$ combine licenseId $ \ver -> case ver of
SPDXLicenseListVersion_3_8 -> filterDeprecated ls_3_8
SPDXLicenseListVersion_3_6 -> filterDeprecated ls_3_6
SPDXLicenseListVersion_3_2 -> filterDeprecated ls_3_2
SPDXLicenseListVersion_3_0 -> filterDeprecated ls_3_0
......
......@@ -27,12 +27,14 @@ data SPDXLicenseListVersion
= SPDXLicenseListVersion_3_0
| SPDXLicenseListVersion_3_2
| SPDXLicenseListVersion_3_6
| SPDXLicenseListVersion_3_8
deriving (Eq, Ord, Show, Enum, Bounded)
allVers :: Set.Set SPDXLicenseListVersion
allVers = Set.fromList [minBound .. maxBound]
prettyVer :: SPDXLicenseListVersion -> Text
prettyVer SPDXLicenseListVersion_3_8 = "SPDX License List 3.8"
prettyVer SPDXLicenseListVersion_3_6 = "SPDX License List 3.6"
prettyVer SPDXLicenseListVersion_3_2 = "SPDX License List 3.2"
prettyVer SPDXLicenseListVersion_3_0 = "SPDX License List 3.0"
......@@ -41,7 +43,7 @@ prettyVer SPDXLicenseListVersion_3_0 = "SPDX License List 3.0"
-- Per version
-------------------------------------------------------------------------------
data PerV a = PerV a a a
data PerV a = PerV a a a a
deriving (Functor, Foldable, Traversable)
-------------------------------------------------------------------------------
......@@ -141,6 +143,7 @@ data Input = Input
, inputLicenseList_3_0 :: Text
, inputLicenseList_3_2 :: Text
, inputLicenseList_3_6 :: Text
, inputLicenseList_3_8 :: Text
}
deriving (Show, Generic)
......
{
"licenseListVersion": "3.8",
"releaseDate": "2020-02-09",
"exceptions": [
{
"reference": "./GCC-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/GCC-exception-2.0.json",
"referenceNumber": "1",
"name": "GCC Runtime Library exception 2.0",
"seeAlso": [
"https://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dblob;f\u003dgcc/libgcc1.c;h\u003d762f5143fc6eed57b6797c82710f3538aa52b40b;hb\u003dcb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10"
],
"licenseExceptionId": "GCC-exception-2.0"
},
{
"reference": "./openvpn-openssl-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/openvpn-openssl-exception.json",
"referenceNumber": "2",
"name": "OpenVPN OpenSSL Exception",
"seeAlso": [
"http://openvpn.net/index.php/license.html"
],
"licenseExceptionId": "openvpn-openssl-exception"
},
{
"reference": "./Nokia-Qt-exception-1.1.html",
"isDeprecatedLicenseId": true,
"detailsUrl": "http://spdx.org/licenses/Nokia-Qt-exception-1.1.json",
"referenceNumber": "3",
"name": "Nokia Qt LGPL exception 1.1",
"seeAlso": [
"https://www.keepassx.org/dev/projects/keepassx/repository/revisions/b8dfb9cc4d5133e0f09cd7533d15a4f1c19a40f2/entry/LICENSE.NOKIA-LGPL-EXCEPTION"
],
"licenseExceptionId": "Nokia-Qt-exception-1.1"
},
{
"reference": "./GPL-3.0-linking-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/GPL-3.0-linking-exception.json",
"referenceNumber": "4",
"name": "GPL-3.0 Linking Exception",
"seeAlso": [
"https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs"
],
"licenseExceptionId": "GPL-3.0-linking-exception"
},
{
"reference": "./Fawkes-Runtime-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Fawkes-Runtime-exception.json",
"referenceNumber": "5",
"name": "Fawkes Runtime Exception",
"seeAlso": [
"http://www.fawkesrobotics.org/about/license/"
],
"licenseExceptionId": "Fawkes-Runtime-exception"
},
{
"reference": "./u-boot-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/u-boot-exception-2.0.json",
"referenceNumber": "6",
"name": "U-Boot exception 2.0",
"seeAlso": [
"http://git.denx.de/?p\u003du-boot.git;a\u003dblob;f\u003dLicenses/Exceptions"
],
"licenseExceptionId": "u-boot-exception-2.0"
},
{
"reference": "./PS-or-PDF-font-exception-20170817.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/PS-or-PDF-font-exception-20170817.json",
"referenceNumber": "7",
"name": "PS/PDF font exception (2017-08-17)",
"seeAlso": [
"https://github.com/ArtifexSoftware/urw-base35-fonts/blob/65962e27febc3883a17e651cdb23e783668c996f/LICENSE"
],
"licenseExceptionId": "PS-or-PDF-font-exception-20170817"
},
{
"reference": "./gnu-javamail-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/gnu-javamail-exception.json",
"referenceNumber": "8",
"name": "GNU JavaMail exception",
"seeAlso": [
"http://www.gnu.org/software/classpathx/javamail/javamail.html"
],
"licenseExceptionId": "gnu-javamail-exception"
},
{
"reference": "./DigiRule-FOSS-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/DigiRule-FOSS-exception.json",
"referenceNumber": "9",
"name": "DigiRule FOSS License Exception",
"seeAlso": [
"http://www.digirulesolutions.com/drupal/foss"
],
"licenseExceptionId": "DigiRule-FOSS-exception"
},
{
"reference": "./LLVM-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/LLVM-exception.json",
"referenceNumber": "10",
"name": "LLVM Exception",
"seeAlso": [
"http://llvm.org/foundation/relicensing/LICENSE.txt"
],
"licenseExceptionId": "LLVM-exception"
},
{
"reference": "./Linux-syscall-note.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Linux-syscall-note.json",
"referenceNumber": "11",
"name": "Linux Syscall Note",
"seeAlso": [
"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/COPYING"
],
"licenseExceptionId": "Linux-syscall-note"
},
{
"reference": "./GPL-3.0-linking-source-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/GPL-3.0-linking-source-exception.json",
"referenceNumber": "12",
"name": "GPL-3.0 Linking Exception (with Corresponding Source)",
"seeAlso": [
"https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs",
"https://github.com/mirror/wget/blob/master/src/http.c#L20"
],
"licenseExceptionId": "GPL-3.0-linking-source-exception"
},
{
"reference": "./Qwt-exception-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Qwt-exception-1.0.json",
"referenceNumber": "13",
"name": "Qwt exception 1.0",
"seeAlso": [
"http://qwt.sourceforge.net/qwtlicense.html"
],
"licenseExceptionId": "Qwt-exception-1.0"
},
{
"reference": "./389-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/389-exception.json",
"referenceNumber": "14",
"name": "389 Directory Server Exception",
"seeAlso": [
"http://directory.fedoraproject.org/wiki/GPL_Exception_License_Text"
],
"licenseExceptionId": "389-exception"
},
{
"reference": "./mif-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/mif-exception.json",
"referenceNumber": "15",
"name": "Macros and Inline Functions Exception",
"seeAlso": [
"http://www.scs.stanford.edu/histar/src/lib/cppsup/exception",
"http://dev.bertos.org/doxygen/",
"https://www.threadingbuildingblocks.org/licensing"
],
"licenseExceptionId": "mif-exception"
},
{
"reference": "./eCos-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/eCos-exception-2.0.json",
"referenceNumber": "16",
"name": "eCos exception 2.0",
"seeAlso": [
"http://ecos.sourceware.org/license-overview.html"
],
"licenseExceptionId": "eCos-exception-2.0"
},
{
"reference": "./CLISP-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/CLISP-exception-2.0.json",
"referenceNumber": "17",
"name": "CLISP exception 2.0",
"seeAlso": [
"http://sourceforge.net/p/clisp/clisp/ci/default/tree/COPYRIGHT"
],
"licenseExceptionId": "CLISP-exception-2.0"
},
{
"reference": "./Bison-exception-2.2.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Bison-exception-2.2.json",
"referenceNumber": "18",
"name": "Bison exception 2.2",
"seeAlso": [
"http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141"
],
"licenseExceptionId": "Bison-exception-2.2"
},
{
"reference": "./Libtool-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Libtool-exception.json",
"referenceNumber": "19",
"name": "Libtool Exception",
"seeAlso": [
"http://git.savannah.gnu.org/cgit/libtool.git/tree/m4/libtool.m4"
],
"licenseExceptionId": "Libtool-exception"
},
{
"reference": "./LZMA-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/LZMA-exception.json",
"referenceNumber": "20",
"name": "LZMA exception",
"seeAlso": [
"http://nsis.sourceforge.net/Docs/AppendixI.html#I.6"
],
"licenseExceptionId": "LZMA-exception"
},
{
"reference": "./OpenJDK-assembly-exception-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/OpenJDK-assembly-exception-1.0.json",
"referenceNumber": "21",
"name": "OpenJDK Assembly exception 1.0",
"seeAlso": [
"http://openjdk.java.net/legal/assembly-exception.html"
],
"licenseExceptionId": "OpenJDK-assembly-exception-1.0"
},
{
"reference": "./Font-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Font-exception-2.0.json",
"referenceNumber": "22",
"name": "Font exception 2.0",
"seeAlso": [
"http://www.gnu.org/licenses/gpl-faq.html#FontException"
],
"licenseExceptionId": "Font-exception-2.0"
},
{
"reference": "./OCaml-LGPL-linking-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/OCaml-LGPL-linking-exception.json",
"referenceNumber": "23",
"name": "OCaml LGPL Linking Exception",
"seeAlso": [
"https://caml.inria.fr/ocaml/license.en.html"
],
"licenseExceptionId": "OCaml-LGPL-linking-exception"
},
{
"reference": "./GCC-exception-3.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/GCC-exception-3.1.json",
"referenceNumber": "24",
"name": "GCC Runtime Library exception 3.1",
"seeAlso": [
"http://www.gnu.org/licenses/gcc-exception-3.1.html"
],
"licenseExceptionId": "GCC-exception-3.1"
},
{
"reference": "./Bootloader-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Bootloader-exception.json",
"referenceNumber": "25",
"name": "Bootloader Distribution Exception",
"seeAlso": [
"https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt"
],
"licenseExceptionId": "Bootloader-exception"
},
{
"reference": "./Classpath-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Classpath-exception-2.0.json",
"referenceNumber": "26",
"name": "Classpath exception 2.0",
"seeAlso": [
"http://www.gnu.org/software/classpath/license.html",
"https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"
],
"licenseExceptionId": "Classpath-exception-2.0"
},
{
"reference": "./Swift-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Swift-exception.json",
"referenceNumber": "27",
"name": "Swift Exception",
"seeAlso": [
"https://swift.org/LICENSE.txt",
"https://github.com/apple/swift-package-manager/blob/7ab2275f447a5eb37497ed63a9340f8a6d1e488b/LICENSE.txt#L205"
],
"licenseExceptionId": "Swift-exception"
},
{
"reference": "./Autoconf-exception-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/Autoconf-exception-2.0.json",
"referenceNumber": "28",
"name": "Autoconf exception 2.0",
"seeAlso": [
"http://ac-archive.sourceforge.net/doc/copyright.html",
"http://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.gz"
],
"licenseExceptionId": "Autoconf-exception-2.0"
},
{
"reference": "./FLTK-exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "http://spdx.org/licenses/FLTK-exception.json",
"referenceNumber": "29",