From 0e566a1ca4689352a642ad4e9661b104261840fa Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 18:39:58 +0200 Subject: [PATCH 01/63] license workflow: add Node dependency preparation step Added a step to prepare Node dependency metadata for license resolution in the workflow. --- .github/workflows/license.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 6590b7b4..69f6ae1e 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -90,6 +90,16 @@ jobs: uses: actions/setup-go@v6 with: go-version: ">=1.20.0" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('package.json') != '' }} + name: Prepare Node dependency metadata (npm/yarn) + shell: bash + run: | + if [[ -f yarn.lock && ! -f package-lock.json && ! -f npm-shrinkwrap.json ]]; then + echo "Yarn project detected without npm lockfile; generating temporary package-lock.json for license resolution" + npm install --package-lock-only --ignore-scripts --no-audit --no-fund + else + echo "npm lockfile already present or Yarn lock not detected; no preprocessing needed" + fi # golang & javascript license check - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('package.json') != '' || hashFiles('go.mod') != '') }} name: Check Go/Javascript Dependencies' License From 388bca1d519c493546b378617d2a3b94e9362ee8 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 19:28:17 +0200 Subject: [PATCH 02/63] Update license.yaml --- .github/workflows/license.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 69f6ae1e..be2f2a54 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -95,8 +95,9 @@ jobs: shell: bash run: | if [[ -f yarn.lock && ! -f package-lock.json && ! -f npm-shrinkwrap.json ]]; then - echo "Yarn project detected without npm lockfile; generating temporary package-lock.json for license resolution" - npm install --package-lock-only --ignore-scripts --no-audit --no-fund + echo "Yarn project detected without npm lockfile; installing dependencies with yarn for license resolution" + corepack enable + yarn install --immutable else echo "npm lockfile already present or Yarn lock not detected; no preprocessing needed" fi From bac7f45cc7b36389b57ebe9994dcd715feb5149f Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 20:49:36 +0200 Subject: [PATCH 03/63] Update license.yaml --- .github/workflows/license.yaml | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index be2f2a54..e3c12f3c 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -95,9 +95,29 @@ jobs: shell: bash run: | if [[ -f yarn.lock && ! -f package-lock.json && ! -f npm-shrinkwrap.json ]]; then - echo "Yarn project detected without npm lockfile; installing dependencies with yarn for license resolution" - corepack enable - yarn install --immutable + echo "Yarn project detected without npm lockfile; creating temporary npm metadata for license resolution" + cp package.json package.json.license-eye.bak + node <<'EOF' + const fs = require('fs'); + const pkgPath = 'package.json'; + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); + const sections = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']; + + for (const section of sections) { + if (!pkg[section]) continue; + for (const [name, spec] of Object.entries(pkg[section])) { + if (typeof spec !== 'string' || !spec.startsWith('npm:')) continue; + const target = spec.slice(4); + // Yarn accepts npm: as shorthand; npm needs npm:@. + if (!target.startsWith('@') && !target.includes('@')) { + pkg[section][name] = `npm:${name}@${target}`; + } + } + } + + fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\\n'); + EOF + npm install --package-lock-only --ignore-scripts --no-audit --no-fund --legacy-peer-deps else echo "npm lockfile already present or Yarn lock not detected; no preprocessing needed" fi @@ -109,6 +129,10 @@ jobs: run: | go install github.com/apache/skywalking-eyes/cmd/license-eye@v0.8.0 license-eye -c ${{ inputs.license-config-path || '.github/config/.licenserc.yaml' }} dep check + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('package.json.license-eye.bak') != '' }} + name: Restore original package.json + shell: bash + run: mv package.json.license-eye.bak package.json # NOTE: we are not using the action # apache/skywalking-eyes/dependency@v0.6.0 # since it uses a old version of golang. From d4a8234c32222783e111e3e989bc38fe8e73611a Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 21:01:31 +0200 Subject: [PATCH 04/63] Update license.yaml --- .github/workflows/license.yaml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index e3c12f3c..6f06b5f4 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -97,26 +97,7 @@ jobs: if [[ -f yarn.lock && ! -f package-lock.json && ! -f npm-shrinkwrap.json ]]; then echo "Yarn project detected without npm lockfile; creating temporary npm metadata for license resolution" cp package.json package.json.license-eye.bak - node <<'EOF' - const fs = require('fs'); - const pkgPath = 'package.json'; - const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); - const sections = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']; - - for (const section of sections) { - if (!pkg[section]) continue; - for (const [name, spec] of Object.entries(pkg[section])) { - if (typeof spec !== 'string' || !spec.startsWith('npm:')) continue; - const target = spec.slice(4); - // Yarn accepts npm: as shorthand; npm needs npm:@. - if (!target.startsWith('@') && !target.includes('@')) { - pkg[section][name] = `npm:${name}@${target}`; - } - } - } - - fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\\n'); - EOF + node -e 'const fs=require("fs");const pkgPath="package.json";const pkg=JSON.parse(fs.readFileSync(pkgPath,"utf8"));const sections=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(const section of sections){if(!pkg[section])continue;for(const [name,spec] of Object.entries(pkg[section])){if(typeof spec!=="string"||!spec.startsWith("npm:"))continue;const target=spec.slice(4);if(!target.startsWith("@")&&!target.includes("@")){pkg[section][name]=`npm:${name}@${target}`;}}}fs.writeFileSync(pkgPath,JSON.stringify(pkg,null,2)+"\\n");' npm install --package-lock-only --ignore-scripts --no-audit --no-fund --legacy-peer-deps else echo "npm lockfile already present or Yarn lock not detected; no preprocessing needed" From 19dc5277d5c7a088d8199e30a1c4b4c82eb68005 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:04:28 +0200 Subject: [PATCH 05/63] test ort --- .github/config/.licenserc.yaml | 8 - .github/config/.ort.yaml | 25 + .github/config/ort/evaluator.rules.kts | 1698 +++ .../config/ort/license-classifications.yml | 12681 ++++++++++++++++ .github/config/ort/resolutions.yml | 16 + .github/workflows/license.yaml | 79 +- .vscode/tasks.json | 15 + 7 files changed, 14462 insertions(+), 60 deletions(-) create mode 100644 .github/config/.ort.yaml create mode 100644 .github/config/ort/evaluator.rules.kts create mode 100644 .github/config/ort/license-classifications.yml create mode 100644 .github/config/ort/resolutions.yml create mode 100644 .vscode/tasks.json diff --git a/.github/config/.licenserc.yaml b/.github/config/.licenserc.yaml index a492418d..04caa54b 100644 --- a/.github/config/.licenserc.yaml +++ b/.github/config/.licenserc.yaml @@ -14,11 +14,3 @@ header: - ".*" comment: on-failure - -# If you don't want to check dependencies' license compatibility, remove the following part -dependency: - files: - - pom.xml # If this is a maven project. - - Cargo.toml # If this is a rust project. - - package.json # If this is a npm project. - - go.mod # If this is a Go project. diff --git a/.github/config/.ort.yaml b/.github/config/.ort.yaml new file mode 100644 index 00000000..5f70b18e --- /dev/null +++ b/.github/config/.ort.yaml @@ -0,0 +1,25 @@ +# ORT repository configuration file. +# This baseline keeps dependency checks focused on runtime-relevant components. + +excludes: + paths: + - pattern: "**/*.{md,MD}" + reason: "DOCUMENTATION_OF" + comment: "Documentation files are excluded from dependency license evaluation." + - pattern: ".github/config/**" + reason: "BUILD_TOOL_OF" + comment: "CI and tool configuration files are excluded from product scope." + - pattern: ".*" + reason: "BUILD_TOOL_OF" + comment: "Dotfiles are excluded from dependency license evaluation." + + scopes: + - pattern: "devDependencies" + reason: "DEV_DEPENDENCY_OF" + comment: "Packages for development only." + - pattern: "(test.*|.*test.*|funTest.*)" + reason: "TEST_DEPENDENCY_OF" + comment: "Packages for tests only." + - pattern: "vendor" + reason: "DEV_DEPENDENCY_OF" + comment: "Vendored packages used for build and test only." diff --git a/.github/config/ort/evaluator.rules.kts b/.github/config/ort/evaluator.rules.kts new file mode 100644 index 00000000..840e2c7f --- /dev/null +++ b/.github/config/ort/evaluator.rules.kts @@ -0,0 +1,1698 @@ +/* + * Copyright (C) 2019 The ORT Project Authors (see ) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * License-Filename: LICENSE + */ + +/****************************************************************************** + * DISCLAIMER: This file only illustrates how to write evaluator rules, it is * + * no recommendation in any way. It is recommended to consult * + * your own legal counsel(s) for setting up your evaluator rules. * + ******************************************************************************/ + +/** + * Variables defining the organization using ORT. + */ +val orgName = "Example Inc." +val orgScanIssueTrackerName = "FOSS JIRA" +val orgScanIssueTrackerMdLink = "[$orgScanIssueTrackerName](https://jira.example.com/FOSS)" + +/** + * Import the license classifications from license-classifications.yml. + */ + +fun getLicensesForCategory(category: String): Set = + checkNotNull(licenseClassifications.licensesByCategory[category]) { + "Failed to obtain the license for category '$category', because that category does not exist." + } + +val claLicenses = getLicensesForCategory("cla") +val commercialLicenses = getLicensesForCategory("commercial") +val copyleftLicenses = getLicensesForCategory("copyleft") +val copyleftLimitedLicenses = getLicensesForCategory("copyleft-limited") +val freeRestrictedLicenses = getLicensesForCategory("free-restricted") +val genericLicenses = getLicensesForCategory("generic") +val patentLicenses = getLicensesForCategory("patent-license") +val permissiveLicenses = getLicensesForCategory("permissive") +val proprietaryFreeLicenses = getLicensesForCategory("proprietary-free") +val publicDomainLicenses = getLicensesForCategory("public-domain") +val unknownLicenses = getLicensesForCategory("unknown") +val unstatedLicenses = getLicensesForCategory("unstated-license") + +// Set of licenses, which are not acted upon by the below policy rules. +val ignoredLicenses = listOf( + /** + * 'generic' category: + */ + // Contributor License agreement are not relevant for the "use" of open source. + "LicenseRef-scancode-generic-cla", + // Permissive licenses are not flagged anyway. + "LicenseRef-scancode-other-permissive", + // Public domain licenses are not flagged anyway. + "LicenseRef-scancode-public-domain", + // Disclaimers are not relevant because they have no obligations. + "LicenseRef-scancode-public-domain-disclaimer", + // Public domain licenses are not flagged anyway. + "LicenseRef-scancode-us-govt-public-domain", + // Disclaimers are not relevant because they have no obligations. + "LicenseRef-scancode-warranty-disclaimer", + /** + * 'unknown' category: + */ + "LicenseRef-scancode-license-file-reference", + // References to files do not matter, because the target files are also scanned. + "LicenseRef-scancode-see-license", + // References to files do not matter, because the target files are also scanned. + "LicenseRef-scancode-unknown-license-reference" +).map { SpdxSingleLicenseExpression.parse(it) }.toSet() + +/** + * The complete set of licenses covered by policy rules. + * + * // TODO: Update the handled licenses to cover all recently added categories. This requires adding + * policy rules for new (offinding) categories, if any. + */ +val handledLicenses = listOf( + claLicenses, + commercialLicenses, + copyleftLicenses, + copyleftLimitedLicenses, + freeRestrictedLicenses, + genericLicenses, + patentLicenses, + permissiveLicenses, + proprietaryFreeLicenses, + publicDomainLicenses, + unknownLicenses, + unstatedLicenses +).flatten().let { + it.getDuplicates().let { duplicates -> + require(duplicates.isEmpty()) { + "The classifications for the following licenses overlap: $duplicates" + } + } + + it.toSet() +} + +/** + * List of licenses approved by organization to be used for its open source projects. + */ +val orgOssProjectsApprovedLicenses = listOf( + "Apache-2.0", + "BSD-2-Clause", + "BSD-3-Clause", + "MIT" +).map { it.toSpdx() as SpdxSingleLicenseExpression }.toSortedSet(compareBy { it.toString() }) + +/** + * Variables used to generate MarkDown text of howToFixDefault() + */ +val doNotWorryText = "_Note_: Do not worry about creating a perfect curation or exclude. Reviewers will provide feedback." +val globTutorialMdLink = "[reference documentation](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob)" +val ortConfigContributingMdLink = "[CONTRIBUTING.md](https://github.com/oss-review-toolkit/ort-config/blob/main/CONTRIBUTING.md)" +val ortConfigVcsMdLink = "[ort-config repository](https://github.com/oss-review-toolkit/ort-config)" +val ortCurationsYmlFileConcludedLicenseMdLink = "[concluded license curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" +val ortCurationsYmlFileDeclaredLicenseMdLink = "[declared license curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" +val ortCurationsYmlVcsPathMdLink = "[VCS path curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" +val ortCurationsYmlVcsUrlMdLink = "[VCS URL curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" +var ortLicenseFindingCurationReasonMdLink = "[LicenseFindingCurationReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/LicenseFindingCurationReason.kt)" +val ortPackageConfigurationFileMdLink = "[package configuration](https://oss-review-toolkit.org/ort/docs/configuration/package-configurations)" +var ortPathExcludeReasonMdLink = "[PathExcludeReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/PathExcludeReason.kt)" +val ortResolutionsYmlRuleViolationMdLink = "[rule violation resolution](https://oss-review-toolkit.org/ort/docs/configuration/resolutions#resolving-policy-rule-violations)" +val ortScopeExcludeReasonMdLink = "[ScopeExcludeReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/ScopeExcludeReason.kt)" +val ortYmlFileMdLink = "[.ort.yml file](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml)" +val ortYmlFilePathExcludeMdLink = "[path exclude](https://oss-review-toolkit.org/ort/docs/configuration/package-configurations#defining-path-excludes-and-license-finding-curations)" +val ortYmlFileScopeExcludeMdLink = "[scope exclude](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#excluding-scopes)" +val ortYmlFileLicenseFindingCurationMdLink = "[license finding curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" +val ortYmlFileRuleViolationResolutionMdLink = "[rule violation resolution](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#resolutions)" +val relatesToIssueText = "Relates-to: [Insert related issue number]".takeIf { ortResult.labels["jira"].isNullOrEmpty() } ?: "Relates-to: ${ortResult.labels["jira"]}" + +enum class PolicyRules { + OSS_PROJECT, + PROPRIETARY_PROJECT +} + +fun getArtifactOrUrlName(url: String): String = + "name of the artifact".takeIf { url.isBlank() } ?: url.substringAfterLast("/") + +fun getArtifactMavenSourcesMdLink(pkg: Package): String { + if (pkg.binaryArtifact.url.isEmpty()) return "URL of the binary" + + val binaryUrl = pkg.binaryArtifact.url + val binaryName = binaryUrl.substringAfterLast("/").substringBeforeLast(".") + val sourcesName = binaryName.plus("-sources") + val sourcesUrl = binaryUrl.replace(binaryName, sourcesName) + + return "[$sourcesName.jar]($sourcesUrl)" +} + +fun getArtifactMdLink(url: String): String = + "URL of the artifact".takeIf { url.isBlank() } ?: "[${url.substringAfterLast("/")}]($url)" + +/** + * Return set of policy rules based on project label passed to ORT. + */ +fun getEnabledPolicyRules(): PolicyRules = + when { + ortResult.hasLabel("project", "oss-project") -> PolicyRules.OSS_PROJECT + else -> PolicyRules.PROPRIETARY_PROJECT + } + +val enablePriorToOssRules = ortResult.hasLabel("enable-prior-to-oss-rules") + +/** + * Return file path of package configuration in the ORT configuration repository for package [id]. + * + * For example, if 'PyPI::flower:0.9.7' is found in your scan, + * then this function will return: 'package-configurations/PyPI/_/flower/0.9.7/vcs.yml' + * + */ +fun getPackageConfigurationFilePath(id: Identifier): String = + "package-configurations/${id.toPath(emptyValue = "_")}/" + +/** + * Return the package configuration matcher for package [id]. + * + * For example, if 'PyPI::flower:0.9.7' is found in your scan, + * then this function will return: + * + * id: "PyPI::flower:0.9.7" + * vcs: + * type: "Git" + * url: "https://github.com/mher/flower.git" + * revision: "26d19a816a362cdce32fd125596ed3bd238b40b4" + * + */ +fun getPackageConfigurationMatcherText(id: Identifier): String { + if (!ortResult.isPackage(id)) return "|" + + val provenance = ortResult.getScanResultsForId(id).firstOrNull()?.provenance + + if (provenance is ArtifactProvenance) { + return """ + | id: "${id.toCoordinates()}" + | source_artifact_url: "${provenance.sourceArtifact.url}" + """.trim() + } + + if (provenance is RepositoryProvenance) { + val vcsInfo = provenance.vcsInfo + + return buildString { + """ + | id: "${id.toCoordinates()}" + | vcs: + | type: "${vcsInfo.type}" + | url: "${vcsInfo.url}" + | revision: "${provenance.resolvedRevision}" + """.trim().let{ appendLine(it) } + + """ + | path: "${vcsInfo.path}" + """.trim().takeIf { vcsInfo.type == VcsType.GIT_REPO }?.let { appendLine(it) } + }.trim() + } + + return "|" +} + +/** + * Return the file path within ORT's configuration curations directory for [id]. + * + * For example, if 'NPM::acorn:7.1.1' is found in your scan, + * then this function will return 'curations/NPM/_/acorn.yml'. + * + */ +fun getPackageCurationsFilePath(id: Identifier): String = + "curations/${id.type}/${id.namespace.ifBlank { "_" }}/${id.name}.yml" + +/** + * Return a MarkDown link to the code repository for package [pkg]. + */ +fun getVcsMdLink(pkg: Package) : String { + if (pkg.vcsProcessed.url.isEmpty()) { + return "URL of the source code repository" + } + + val vcsUrl = pkg.vcsProcessed.url.replaceCredentialsInUri() + + return "[${vcsUrl.substringAfterLast("/")} repository](${vcsUrl.replace("ssh", "http")})" +} + +/** + * Return true if [license] is on the list of the organization's approved licenses for its open source projects. + */ +fun isApprovedOrgOssProjectLicense(license: SpdxSingleLicenseExpression) = license in orgOssProjectsApprovedLicenses + +/** + * Return true if the [ortResult] contains a scan result for the source artifact of the package denoted by [id]. + */ +fun isSourceArtifactScanned(id: Identifier): Boolean = + ortResult.getScanResultsForId(id).any { it.provenance is ArtifactProvenance } + +/** + * Return true if the [ortResult] contains a scan result for the VCS of the package denoted by [id]. + */ +fun isVcsScanned(id: Identifier): Boolean = + ortResult.getScanResultsForId(id).any { it.provenance is RepositoryProvenance } + +/** + * Return the coordinates without the version. + * + * For example, this function will return 'PyPI:flower' for package id 'PyPI::flower:0.9.7' + * and 'Maven:org.antlr:antlr4' for 'Maven:org.antlr:antlr4:4.0.0'. + * + */ +fun Identifier.toCoordinatesWithoutVersion() = "$type:$namespace:$name" + +/** + * Return Markdown-formatted text to aid users with resolving violations. + */ +fun PackageRule.howToFixDefault() = """ + A text written in MarkDown to help users resolve policy violations + which may link to additional resources. + """.trimIndent() + +fun PackageRule.howToFixLicenseViolationDefault( + license: String, + licenseSource: LicenseSource +): String { + if (ortResult.isProject(pkg.metadata.id)) { + // Violation is flagged for the project scanned. + if (licenseSource == LicenseSource.DETECTED) { + // License is detected by the scanner in the source code of the project. + return resolveViolationInSourceCodeText(pkg.metadata, license).trimMargin() + } + + // License is declared in project's package manifest file (pom, package.json, etc.). + return "For this violation, there is no recommended solution.".trimMargin() + } + + // Violation is thrown for one of the project's dependencies. + if (licenseSource == LicenseSource.DETECTED) { + // Violation thrown for license detected by the scanner in the source code of the dependency. + return resolveViolationInDependencySourceCodeText(pkg.metadata, license).trimMargin() + } + + // Violation thrown for declared license in dependency's package manifest file (pom, package.json, etc.). + return resolveViolationInDependencyDeclaredLicenseText(pkg.metadata).trimMargin() +} + +fun PackageRule.howToFixUnhandledLicense( + license: String, + licenseSource: LicenseSource +) : String { + val createIssueText = """ + |1. If an issue to add this license does not already exist in $orgScanIssueTrackerMdLink, please create it. + |2. Set the _Summary_ field to 'Add new license $license'. + |3. Set the _Component/s_ field to _licenses_. + |4. Set the _Description_ field to something like 'Please add this license to the review tooling.' + |""" + + if (ortResult.isProject(pkg.metadata.id)) { + // Unhandled license is found in the project under review. + if (licenseSource == LicenseSource.DETECTED) { + // Unhandled license is detected by the scanner in the source code of the project. + return """ + |${resolveViolationInSourceCodeText(pkg.metadata, license)} + | + |If the license identification is correct and can not be excluded, then + |follow the steps below to have Open Source Office add $license to the review tooling: + | + $createIssueText + |""".trimMargin() + } + + // Unhandled license is declared in project's package manifest file (pom, package.json, etc.). + return """ + |Follow the steps below to have Open Source Office add $license to the review tooling: + | + $createIssueText + |""".trimMargin() + } else { + // Unhandled license is found in project's dependency. + if (licenseSource == LicenseSource.DETECTED) { + // Unhandled license is detected by the scanner in the source code of the dependency. + return """ + |${resolveViolationInDependencySourceCodeText(pkg.metadata, license)} + | + |If the license identification is correct and can not be excluded, then + |follow the steps below to add $license to the review tooling: + | + $createIssueText + |""".trimMargin() + } + + // Unhandled license is declared in dependency's package manifest file (pom, package.json, etc.). + return """ + |Follow the steps below to add $license to the review tooling: + | + $createIssueText + |""".trimMargin() + } +} + +fun PackageRule.howToFixOssProjectDefault() = """ + A text written in MarkDown to help users resolve policy violations + which may link to additional resources. + """.trimIndent() + +fun PackageRule.howToFixUnmappedDeclaredLicense(license: String): String { + val genericDeclaredLicenses = setOf( + "BSD License", + "The BSD License" + ) + + return if (license in genericDeclaredLicenses) { + val binaryUrlMdLink = getArtifactMdLink(pkg.metadata.binaryArtifact.url) + val vcsUrlMdLink = getVcsMdLink(pkg.metadata) + + """ + |Try to resolve this violation by following the advice below: + | + |1. Clone $ortConfigVcsMdLink using Git. + |2. Map declared license '$license' to an [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/): + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.metadata.id)}`. + | - Determine the declared licenses for $binaryUrlMdLink by looking for the main license files in the $vcsUrlMdLink. + | Use the the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.metadata.id.toCoordinatesWithoutVersion()}" + | curations: + | comment: "Mapping declared license based on \ + | [https://url-to-repository/tag-or-revision-for-version-${pkg.metadata.id.version}/LICENSE] and \ + | [https://url-to-repository/tag-or-revision-for-version-${pkg.metadata.id.version}/package-metadata-file]." + | declared_license_mapping: + | "$license": "[SPDX license expression for the declared license.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | feat(curations): Map declared license for ${pkg.metadata.id.toCoordinatesWithoutVersion()} + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileDeclaredLicenseMdLink is merged, re-scan to see if the violation has been resolved. + |""".trimMargin() + } else { + """ + |Follow the steps below to add the $license to the review tooling: + | + |1. If a ticket to add this license does not already exist in $orgScanIssueTrackerMdLink, please create it. + |2. Set the _Summary_ field to 'Add new license mapping for license $license'. + |3. Set the _Component/s_ field to _licenses_. + |4. Set the _Description_ field to something like 'Please add a new declared license mapping for this license.' + |""".trimMargin() + } +} + +fun resolveViolationInDependencyDeclaredLicenseText(pkg: Package) : String { + val sourcesUrlMdLink = when (pkg.id.type) { + "Maven" -> getArtifactMavenSourcesMdLink(pkg) + "PIP", "PyPI" -> getArtifactMdLink(pkg.sourceArtifact.url) + else -> "the source artifact" + } + + if (isSourceArtifactScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { + val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) + val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) + + return """ + |Try to resolve this violation by following the advice below: + | + |1. Exclude the package scope if the package is not part of the released artifacts: + | - Check _Paths_ > _Scope_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` + | - If _Scope_ indicates the package is used for building or testing your code (e.g. 'compile' or 'test'), + | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. + | + |2. Otherwise, add a curation for the package if its declared license includes a license choice: + | - Clone $ortConfigVcsMdLink using Git. + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Find the licenses applicable to $binaryUrlMdLink by comparing its contents with the scan results for $sourcesUrlMdLink. + | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink.) + | - For each license that applies, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` + | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinates()}" + | curations: + | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. + | Additionally the scanner detects ...]" + | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is + | # concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" + | # However, as we do not have a mechanism to record a license choice yet, misuse the concluded + | # license to perform the choice until we have a proper mechanism implemented: + | concluded_license: "[Chosen licenses for $binaryName as a SPDX license expression.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Note that reviewers are set automatically. + | + | ``` + | + | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. + |""" + } + + val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) + val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) + val vcsUrlMdLink = getVcsMdLink(pkg) + + if (isVcsScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { + return """ + |Try to resolve this violation by following the advice below: + | + |1. Exclude the package scope if the package is not part of the released artifacts: + | - Check _Paths_ > _Scope_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` + | - If _Scope_ indicates the package is used for building or testing your code (e.g. 'compile' or 'test'), + | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. + | + |2. Otherwise, add a curation for the package if its declared license includes a license choice: + | - Clone $ortConfigVcsMdLink using Git. + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Find the licenses applicable to $binaryUrlMdLink by comparing its contents with the scan results for $sourcesUrlMdLink. + | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink.) + | - For each license that applies, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` + | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinates()}" + | curations: + | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. + | Additionally the scanner detects ...]" + | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is + | # concluded_license: "[Applicable licenses for $binaryName as SPDX license expression.]" + | # However, as we do not have a mechanism to record a license choice yet (see OSS-1163), misuse the concluded + | # license to perform the choice until we have a proper mechanism implemented: + | concluded_license: "[Chosen licenses for $binaryName as a SPDX license expression.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Note that reviewers are set automatically. + | + | ``` + | + | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. + |""" + } else { + val vcsName = getArtifactOrUrlName(pkg.vcsProcessed.url) + + return """ + |It may be possible to resolve this violation as follows: + | + |1. Try to exclude the scope of the package if it is not part of the released artifacts: + | - Check the _Paths_ section for '${pkg.id.toCoordinates()}' in the Web App scan report for the scopes where the package was found. + | - If a scope is only for packages used for building or testing your code, + | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. + | + |2. Otherwise, add a curation for the package if its declared license includes a license choice: + | - Clone $ortConfigVcsMdLink using Git. + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Find the licenses applicable to $vcsUrlMdLink which are included in your release artifacts. + | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $vcsUrlMdLink). + | - For each license that is not compiled in your release artifacts, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` + | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinates()}" + | curations: + | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. + | Additionally the scanner detects ...]" + | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is + | # concluded_license: "[Applicable licenses for $vcsName repository as a SPDX license expression.]" + | # However, as we do not have a mechanism to record a license choice yet (see OSS-1163), misuse the concluded + | # license to perform the choice until we have a proper mechanism implemented: + | concluded_license: "[Chosen licenses for $vcsName repository as a SPDX license expression.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Note that reviewers are set automatically. + | + | ``` + | + | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. + |""" + } +} + +fun resolveViolationInDependencySourceCodeText(pkg: Package, license: String) : String { + val sourcesUrlMdLink = when (pkg.id.type) { + "Maven" -> getArtifactMavenSourcesMdLink(pkg) + "PIP", "PyPI" -> getArtifactMdLink(pkg.sourceArtifact.url) + else -> "the source artifact" + } + + if (isSourceArtifactScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { + val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) + val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) + + return """ + |Try to resolve this violation by following the advice below: + | + |1. Clone $ortConfigVcsMdLink using Git. + |2. Download and extract: + | - $binaryUrlMdLink + | - $sourcesUrlMdLink + |4. Find the lines which triggered this violation: + | - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` + | - Filter the _Value_ column, selecting only the license to which the violation refers + |5. If there are license file findings for this package in directories in (extracted) $sourcesUrlMdLink but not $binaryUrlMdLink: + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. + | - Open the file `source-artifact.yml` in a text editor + | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFilePathExcludeMdLink + | for each _directory_ found in the (extracted) $sourcesUrlMdLink but not $binaryUrlMdLink. + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | path_excludes: + | - pattern: "[A glob pattern matching files or paths.]" + | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" + | + | ``` + | + | For information on how to write a glob pattern, please see this $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | packages: Add excludes for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. + | + |6. For each file where the license was found, check if the scanner correctly identified the license. + | If a license identification is incorrect: + | + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. + | - Open `source-artifact.yml` in a text editor. + | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | license_finding_curations: + | - path: "[A glob pattern matching files or paths.]" + | start_lines: "[String with comma-separated list of starting line integers.]" + | line_count: [Integer for number of lines to match.] + | detected_license: "$license" + | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" + | reason: "INCORRECT" + | comment: "[A comment explaining why the scanner is incorrect.]" + | + | ``` + | + | For information on how to write a glob pattern, visit $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Note that reviewers are set automatically. + | + | ``` + | + | packages: Add curations for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. + | | + |7. If '${pkg.id.toCoordinates()}' includes license choices or a large number of findings to be excluded or curated: + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Determine the applicable licenses for $binaryUrlMdLink by comparing its contents with the scan result findings. + | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink). + | - For each license that applies to $binaryUrlMdLink, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` + | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinates()}" + | curations: + | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. + | Additionally the scanner detects ...]" + | concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Note that reviewers are set automatically. + | + | ``` + | + | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. + | - $doNotWorryText + |""" + } + val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) + val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) + val vcsUrlMdLink = getVcsMdLink(pkg) + + if (isVcsScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { + return """ + |Try to resolve this violation by following the advice below: + | + |1. Clone $ortConfigVcsMdLink using Git. + |2. Download and extract $binaryUrlMdLink. + |3. Find the lines which triggered this violation: + ! - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` + | - Filter the _Value_ column, selecting only the licenses to which the violation refers + |4. Open the $vcsUrlMdLink in a web browser and find the source code for version `${pkg.id.version}`. + |5. If the extracted $binaryUrlMdLink contains fewer files or directories than shown under + | the _Scan Results_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html`, you may need to + | limit the number of files/directories the scanner scans. For example, if the repository contains other + | packages and not just '${pkg.id.toCoordinates()}': + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Add an entry for '${pkg.id.toCoordinates()}' setting the `path` under `vcs` + | to the repository directory that contains the source code for the $binaryUrlMdLink. + | (To find the correct directory, search the names of files in the extracted $binaryUrlMdLink within $vcsUrlMdLink.) + | Use the following template, replacing the `path` field as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinatesWithoutVersion()}" + | curations: + | comment: "Package resides in its own directory within repo." + | vcs: + | path: "[File path to package e.g. ${pkg.id.name}.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | feat(curations): Set VCS path for `${pkg.id.toCoordinatesWithoutVersion()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlVcsUrlMdLink is merged, re-scan to see if the violation has been resolved. + | + |6. If there are license file findings for '${pkg.id.toCoordinates()}' in directories in $vcsUrlMdLink but not in the extracted $binaryUrlMdLink: + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. + | - Open `vcs.yml` in a text editor. + | - For each _directory_ found in the $vcsUrlMdLink but not in extracted $binaryUrlMdLink, add a $ortPackageConfigurationFileMdLink entry + | with a $ortYmlFilePathExcludeMdLink. + | . + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | path_excludes: + | - pattern: "[A glob pattern matching files or paths.]" + | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" + | + | ``` + | + | For information on how to write a glob pattern, please see this $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | packages: Add excludes for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. + | + |7. For each file where the license was found, check if the scanner correctly identified the license. + | If a license identification is incorrect: + | + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. + | - Open the file `source-artifact.yml` in a text editor. + | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | license_finding_curations: + | - path: "[A glob pattern matching files or paths.]" + | start_lines: "[String with comma-separated list of starting line integers.]" + | line_count: [Integer for number of lines to match.] + | detected_license: "$license" + | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" + | reason: "INCORRECT" + | comment: "[A comment explaining why the scanner is incorrect.]" + | + | ``` + | + | For information on how to write a glob pattern, please see this $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | packages: Add curations for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. + | + |8. If '${pkg.id.toCoordinates()}' includes license choices or a large number of findings to be excluded or curated: + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Determine the applicable licenses for $binaryUrlMdLink by comparing its contents with the scan result findings. + | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink). + | - For each license that applies to $binaryUrlMdLink, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` + | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinates()}" + | curations: + | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ + | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. + | Additionally the scanner detects ...]" + | concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. + | - $doNotWorryText + |""" + } else { + return """ + |Try to resolve this violation by following the advice below: + | + |1. Clone $ortConfigVcsMdLink using Git. + |2. Find the lines which triggered this violation: + | - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` + | - Filter the _Value_ column, selecting only the licenses to which the violation refers + |3. Open the $vcsUrlMdLink in a web browser and find the code for version `${pkg.id.version}`. + |4. If this package is in a repository containing other packages beside '${pkg.id.toCoordinates()}': + | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. + | - Add an entry for '${pkg.id.toCoordinates()}' setting the `path` under `vcs` + | to the repository directory that contains the source code for the package. + | Use the following template, changing the value of `path` as appropriate. + | + | ``` + | + | - id: "${pkg.id.toCoordinatesWithoutVersion()}" + | curations: + | comment: "Package resides in its own directory within repo." + | vcs: + | path: "[File path to package e.g. ${pkg.id.name}.]" + | + | ``` + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | feat(curations): Set VCS path for `${pkg.id.toCoordinatesWithoutVersion()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortCurationsYmlVcsUrlMdLink is merged, re-scan to see if the violation has been resolved. + | + |5. If there are license findings for '${pkg.id.toCoordinates()}' in directories in $vcsUrlMdLink used only for building or testing the code: + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. + | - Open `vcs.yml` in a text editor. + | - For each _directory_ found in the $vcsUrlMdLink, but not in extracted $binaryUrlMdLink, add a + | $ortPackageConfigurationFileMdLink entry with a $ortYmlFilePathExcludeMdLink. + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | path_excludes: + | - pattern: "[A glob pattern matching files or paths.]" + | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" + | + | ``` + | + | For information on how to write a glob pattern, please see this $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | packages: Add excludes for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. + | + |6. For each file where the license was found, check if the scanner identified the license correctly. + | If a license identification is incorrect: + | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. + | - Open `vcs.yml` in a text editor. + | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. + | Use the following template, changing the text in square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + ${getPackageConfigurationMatcherText(pkg.id)} + | license_finding_curations: + | - path: "[A glob pattern matching files or paths.]" + | start_lines: "[String with comma-separated list of starting line integers.]" + | line_count: [Integer for number of lines to match.] + | detected_license: "$license" + | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" + | reason: "INCORRECT" + | comment: "[A comment explaining why the scanner is incorrect.]" + | + | ``` + | + | For information on how to write a glob pattern, please see this $globTutorialMdLink. + | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. + | + | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. + | Reviewers are set automatically. + | + | ``` + | + | packages: Add curations for `${pkg.id.toCoordinates()}` + | + | $relatesToIssueText + | + | ``` + | + | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. + | - $doNotWorryText + |""" + } +} + +fun resolveViolationInSourceCodeText(pkg: Package, license: String) : String { + return """ + |Try to resolve this violation by following the advice below: + | + |1. Find the lines which triggered this violation: + | - expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-web-app.html` + | - filter the _Value_ column, selecting only the license to which the violation refers. + |2. Try to exclude the files or directories to which the violation refers but which are not part of the release artifacts + | of your project by adding a $ortYmlFilePathExcludeMdLink to your $ortYmlFileMdLink. + | + |3. For each file finding for the license, verify if the scanner correctly identified the license. + | If a license identification is incorrect: + | + | - Open your $ortYmlFileMdLink in a text editor. + | - Add a $ortYmlFileLicenseFindingCurationMdLink. + | Use the following template, changing the text surrounded by square brackets (`[...]`) as appropriate. + | + | ``` + | + | --- + | curations: + | license_findings: + | - path: "[A glob pattern matching files or paths.]" + | start_lines: "[String with comma-separated list of starting line integers.]" + | line_count: [Integer for number of lines to match.] + | detected_license: "$license" + | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" + | reason: "INCORRECT" + | comment: "[A comment explaining why the scanner is incorrect.]" + | + | ``` + | + | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. + |""" +} + +/** + * Set of matchers to help keep policy rules easy to understand and corresponding helper functions. + */ + +fun isExceptionWithoutLicense(license: SpdxSingleLicenseExpression): Boolean = + license.toString().let { string -> + string.startsWith("NOASSERTION WITH ") || ("-exception" in string && " WITH " !in string) + } + +fun PackageRule.hasDefinitionFileName(vararg definitionFileNames: String) = + object : RuleMatcher { + private val matchingNames = definitionFileNames.toSet() + + override val description = "hasDefinitionFileName(${matchingNames.joinToString()})" + + override fun matches(): Boolean { + val project = ortResult.getProject(pkg.metadata.id) ?: return false + return project.definitionFilePath.substringAfterLast('/') in matchingNames + } + } + +fun PackageRule.LicenseRule.isApprovedOrgOssProjectLicense() = + object : RuleMatcher { + override val description = "isApprovedOrgOssProjectLicense($license)" + + override fun matches() = isApprovedOrgOssProjectLicense(license) + } + +fun PackageRule.LicenseRule.isHandled() = + object : RuleMatcher { + override val description = "isHandled($license)" + + override fun matches() = license in handledLicenses && !isExceptionWithoutLicense(license) + } + +fun PackageRule.LicenseRule.isCommercial() = + object : RuleMatcher { + override val description = "isCommercial($license)" + + override fun matches() = license in commercialLicenses + } + +fun PackageRule.LicenseRule.isCopyleft() = + object : RuleMatcher { + override val description = "isCopyleft($license)" + + override fun matches() = license in copyleftLicenses + } + +fun PackageRule.LicenseRule.isCopyleftLimited() = + object : RuleMatcher { + override val description = "isCopyleftLimited($license)" + + override fun matches() = license in copyleftLimitedLicenses + } + +fun PackageRule.LicenseRule.isExceptionWithoutLicense() = + object : RuleMatcher { + override val description = "isExceptionWithoutLicense($license)" + + override fun matches() = isExceptionWithoutLicense(license) + } + +fun PackageRule.LicenseRule.isFreeRestricted() = + object : RuleMatcher { + override val description = "isFreeRestricted($license)" + + override fun matches() = license in freeRestrictedLicenses + } + +fun PackageRule.LicenseRule.isGeneric() = + object : RuleMatcher { + override val description = "isGeneric($license)" + + override fun matches() = license in genericLicenses + } + +fun PackageRule.LicenseRule.isIgnored() = + object : RuleMatcher { + override val description = "isIgnored($license)" + + override fun matches() = license in ignoredLicenses + } + +fun PackageRule.LicenseRule.isProprietaryFree() = + object : RuleMatcher { + override val description = "isProprietaryFree($license)" + + override fun matches() = license in proprietaryFreeLicenses + } + +fun PackageRule.LicenseRule.isPatent() = + object : RuleMatcher { + override val description = "isPatent($license)" + + override fun matches() = license in patentLicenses + } + +fun PackageRule.LicenseRule.isUnknown() = + object : RuleMatcher { + override val description = "isUnknown($license)" + + override fun matches() = license in unknownLicenses + } + +fun PackageRule.LicenseRule.isUnstated() = + object : RuleMatcher { + override val description = "isUnstated($license)" + + override fun matches() = license in unstatedLicenses + } + +fun PackageRule.packageManagerSupportsDeclaredLicenses(): RuleMatcher = + NoneOf( + isType("Bundler"), + isType("DotNet"), + isType("GoDep"), + isType("GoMod"), + isType("Gradle"), + AllOf(isType("PIP"), Not(hasDefinitionFileName("setup.py"))), + isType("Pub"), + isType("Unmanaged") + ) + +/** + * Policy rules + */ + +fun RuleSet.commercialInDependencyRule() = packageRule("COMMERCIAL_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("COMMERCIAL_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isCommercial() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'commercial' " + + "categorized license $license. This requires approval.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.copyleftInDependencyRule() = packageRule("COPYLEFT_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("COPYLEFT_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isCopyleft() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'copyleft' " + + "categorized license $license.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.copyleftLimitedInDependencyRule() = dependencyRule("COPYLEFT_LIMITED_IN_DEPENDENCY") { + require { + +isStaticallyLinked() + -isExcluded() + } + + licenseRule("COPYLEFT_LIMITED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isCopyleftLimited() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is statically linked and licensed under the " + + "ScanCode 'copyleft-limited' categorized license $license.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.copyleftInSourceRule() = packageRule("COPYLEFT_IN_SOURCE") { + require { + +isProject() + -isExcluded() + } + + licenseRule("COPYLEFT_IN_SOURCE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + -isExcluded() + +isCopyleft() + } + + error( + "The ScanCode 'copyleft' categorized license $license was ${licenseSource.name.lowercase()} in project " + + "'${pkg.metadata.id.toCoordinates()}'.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.copyleftLimitedInSourceRule() = packageRule("COPYLEFT_LIMITED_IN_SOURCE") { + require { + +isProject() + -isExcluded() + } + + licenseRule("COPYLEFT_LIMITED_IN_SOURCE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + -isExcluded() + +isCopyleftLimited() + } + + error( + "The ScanCode 'copyleft-limited' categorized license $license was ${licenseSource.name.lowercase()} in " + + "project '${pkg.metadata.id.toCoordinates()}'.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.dependencyInProjectSourceRule() = projectSourceRule("DEPENDENCY_IN_PROJECT_SOURCE_RULE") { + val denyDirPatterns = listOf( + "**/node_modules" to setOf("NPM", "Yarn", "PNPM"), + "**/vendor" to setOf("GoMod", "GoDep") + ) + + denyDirPatterns.forEach { (pattern, packageManagers) -> + val offendingDirs = projectSourceFindDirectories(pattern) + + if (offendingDirs.isNotEmpty()) { + error( + "The directories ${offendingDirs.joinToString()} belong to the package manager(s) " + + "${packageManagers.joinToString()} and must not be committed.", + "Please delete the directories: ${offendingDirs.joinToString()}." + ) + } + } +} + +fun RuleSet.deprecatedScopeExludeInOrtYmlRule() = ortResultRule("DEPRECATED_SCOPE_EXCLUDE_REASON_IN_ORT_YML") { + val reasons = ortResult.repository.config.excludes.scopes.mapTo(mutableSetOf()) { it.reason } + + @Suppress("DEPRECATION") + val deprecatedReasons = setOf(ScopeExcludeReason.TEST_TOOL_OF) + + reasons.intersect(deprecatedReasons).forEach { offendingReason -> + warning( + "The repository configuration is using the deprecated scope exclude reason '$offendingReason'.", + "Please use only non-deprecated scope exclude reasons, see " + + "https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/" + + "kotlin/config/ScopeExcludeReason.kt." + ) + } +} + +fun RuleSet.freeRestrictedInDependencyRule() = packageRule("FREE_RESTRICTED_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("FREE_RESTRICTED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isFreeRestricted() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'free-restricted' " + + "categorized license $license. This requires approval.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.genericInDependencyRule() = packageRule("GENERIC_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("GENERIC_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isGeneric() + -isExcluded() + -isIgnored() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' might contain a license which is unknown to the " + + " tooling. It was detected as $license which is just a trigger, but not a real license. Please " + + "create a dedicated license identifier if the finding is valid.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.missingCiConfigurationRule() = projectSourceRule("MISSING_CI_CONFIGURATION") { + require { + -AnyOf( + projectSourceHasFile( + ".appveyor.yml", + ".bitbucket-pipelines.yml", + ".gitlab-ci.yml", + ".travis.yml" + ), + projectSourceHasDirectory( + ".circleci", + ".github/workflows" + ) + ) + } + + error( + message = "This project does not have any known CI configuration files.", + howToFix = "Please setup a CI. If you already have setup a CI and the error persists, please contact support." + ) +} + +fun RuleSet.missingContributingFileRule() = projectSourceRule("MISSING_CONTRIBUTING_FILE") { + require { + -projectSourceHasFile("CONTRIBUTING.md") + } + + error("The project's code repository does not contain the file 'CONTRIBUTING.md'.") +} + +fun RuleSet.missingGitignoreFileRule() = projectSourceRule("MISSING_GITIGNORE_FILE") { + require { + +projectSourceHasVcsType(VcsType.GIT) + -projectSourceHasFile(".gitignore") + } + + error( + message = "Adding a '.gitignore' file is recommended practice to prevent pushing files with sensitive " + + "information, compiled code, system files, caches, logs or generated files such as dist directories.", + howToFix = "A wide variety of gitignore template files for specific programming languages, frameworks, tools " + + "and environments can be found at https://github.com/github/gitignore." + ) +} + +fun RuleSet.missingLicenseFileRule() = projectSourceRule("MISSING_LICENSE_FILE") { + require { + -projectSourceHasFile("LICENSE") + } + + error( + message = "The project's code repository does not contain the file 'LICENSE'." + ) +} + +fun RuleSet.missingReadmeFileRule() = projectSourceRule("MISSING_README_FILE") { + require { + -projectSourceHasFile("README.md") + } + + error("The project's code repository does not contain the file 'README.md'.") +} + +fun RuleSet.missingReadmeFileLicenseSectionRule() = projectSourceRule("MISSING_README_FILE_LICENSE_SECTION") { + require { + +projectSourceHasFile("README.md") + -projectSourceHasFileWithContent(".*^#{1,2} License$.*", "README.md") + } + + error( + message = "The file 'README.md' is missing a \"License\" section.", + howToFix = "Please add a \"License\" section to the file 'README.md'." + ) +} + +fun RuleSet.missingTestsRule() = projectSourceRule("MISSING_TESTS") { + require { + -projectSourceHasDirectory( + "**/*test*", + "**/*Test*", + ) + } + + error( + message = "This project does not seem to have any tests.", + howToFix = "Please setup tests. If you already have tests and the error persists, please contact support." + ) +} + +fun RuleSet.noLicenseInDependencyRule() = packageRule("NO_LICENSE_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + -hasLicense() + } + + error( + "No license information is available for dependency '${pkg.metadata.id.toCoordinates()}'.", + "If the dependency indeed is unlicensed, it must not be used. Otherwise, please conclude the appropriate " + + "license with a package curation." + ) +} + +fun RuleSet.packageConfigurationInOrtYmlRule() = ortResultRule("PACKAGE_CONFIGURATION_IN_ORT_YML") { + if (ortResult.repository.config.packageConfigurations.isNotEmpty()) { + warning( + "The use of package configurations is not allowed in the *.ort.yml file.", + "Please use a global package configuration in the $ortConfigVcsMdLink." + ) + } +} + +fun RuleSet.packageCurationInOrtYmlRule() = ortResultRule("PACKAGE_CURATION_IN_ORT_YML") { + if (ortResult.repository.config.curations.packages.isNotEmpty()) { + warning( + "The use of package curations is not allowed in the *.ort.yml file.", + "Please use a global package curation in the $ortConfigVcsMdLink." + ) + } +} + +fun RuleSet.patentInDependencyRule() = packageRule("PATENT_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("PATENT_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isPatent() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'patent-license' " + + "categorized license $license. This requires approval.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.proprietaryFreeInDependencyRule() = packageRule("PROPRIETARY_FREE_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("PROPRIETARY_FREE_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isProprietaryFree() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'proprietary-free' " + + "categorized license $license. This requires approval.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.unkownInDependencyRule() = packageRule("UNKNOWN_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("UNKNOWN_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isUnknown() + -isIgnored() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' might contain a license which is unknown to the " + + " tooling. It was detected as $license which is just a trigger, but not a real license. Please " + + "create a dedicated license identifier if the finding is valid.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.unstatedInDependencyRule() = packageRule("UNSTATED_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + } + + licenseRule("UNSTATED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + +isUnstated() + -isExcluded() + } + + error( + "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'unstated-licenses' " + + "categorized license $license. This requires approval.", + howToFixLicenseViolationDefault(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.vulnerabilityInDependencyRule() = packageRule("VULNERABILITY_IN_DEPENDENCY") { + require { + -isProject() + -isExcluded() + +hasVulnerability() + } + + warning( + "The package '${pkg.metadata.id.toCoordinates()}' has a vulnerability.", + howToFixDefault() + ) +} + +fun RuleSet.vulnerabilityWithHighSeverityInDependencyRule() = packageRule("HIGH_SEVERITY_VULNERABILITY_IN_DEPENDENCY") { + val scoreThreshold = 5.0f + + require { + -isProject() + -isExcluded() + +AnyOf( + hasVulnerability(scoreThreshold, "CVSS2"), + hasVulnerability(scoreThreshold, "CVSS3") + ) + } + + error( + "The package '${pkg.metadata.id.toCoordinates()}' has a vulnerability score greater than or equal to " + + "$scoreThreshold.", + howToFixDefault() + ) +} + +fun RuleSet.unapprovedOssProjectLicenseRule() = packageRule("UNAPPROVED_OSS_PROJECT_LICENSE") { + require { + +isProject() + +packageManagerSupportsDeclaredLicenses() + } + + licenseRule("UNAPPROVED_OSS_PROJECT_LICENSE", LicenseView.ONLY_DECLARED) { + require { + -isApprovedOrgOssProjectLicense() + } + + error( + "Package '${pkg.metadata.id.toCoordinates()}' declares $license which is not an " + + "approved license within $orgName.", + howToFixOssProjectDefault() + ) + } +} + +fun RuleSet.unhandledLicenseRule() = packageRule("UNHANDLED_LICENSE") { + require { + -isExcluded() + } + + licenseRule("UNHANDLED_LICENSE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { + require { + -isExcluded() + -isHandled() + -isExceptionWithoutLicense() + } + + error( + "The license $license is currently not covered by policy rules. " + + "The license was ${licenseSource.name.lowercase()} in package " + + "'${pkg.metadata.id.toCoordinates()}'.", + howToFixUnhandledLicense(license.toString(), licenseSource) + ) + } +} + +fun RuleSet.unmappedDeclaredLicenseRule() = packageRule("UNMAPPED_DECLARED_LICENSE") { + require { + -isExcluded() + -hasConcludedLicense() + } + + resolvedLicenseInfo.licenseInfo.declaredLicenseInfo.processed.unmapped.forEach { unmappedLicense -> + warning( + "The declared license '$unmappedLicense' could not be mapped to a valid license or parsed as an SPDX " + + "expression. The license was found in package '${pkg.metadata.id.toCoordinates()}'.", + howToFixUnmappedDeclaredLicense(unmappedLicense) + ) + } +} + +fun RuleSet.wrongLicenseInLicenseFileRule() = projectSourceRule("WRONG_LICENSE_IN_LICENSE_FILE_RULE") { + require { + +projectSourceHasFile("LICENSE") + } + + val allowedRootLicenses = orgOssProjectsApprovedLicenses.mapTo(mutableSetOf()) { it.simpleLicense() } + val detectedRootLicenses = projectSourceGetDetectedLicensesByFilePath("LICENSE").values.flatten().toSet() + val wrongLicenses = detectedRootLicenses - allowedRootLicenses + + if (wrongLicenses.isNotEmpty()) { + error( + message = "The file 'LICENSE' contains the following disallowed licenses ${wrongLicenses.joinToString()}.", + howToFix = "Please use only the following allowed licenses: ${allowedRootLicenses.joinToString()}." + ) + } else if (detectedRootLicenses.isEmpty()) { + error( + message = "The file 'LICENSE' does not contain any license which is not allowed.", + howToFix = "Please use one of the following allowed licenses: ${allowedRootLicenses.joinToString()}." + ) + } +} + +fun RuleSet.commonRules() { + unhandledLicenseRule() + unmappedDeclaredLicenseRule() + + // Rules applicable to the `.ort.yml` file: + deprecatedScopeExludeInOrtYmlRule() + packageConfigurationInOrtYmlRule() + packageCurationInOrtYmlRule() + + // Rules for dependencies: + noLicenseInDependencyRule() + vulnerabilityInDependencyRule() + vulnerabilityWithHighSeverityInDependencyRule() + + // Prior to open sourcing use case rules (which get executed once): + if (enablePriorToOssRules) { + dependencyInProjectSourceRule() + missingCiConfigurationRule() + missingContributingFileRule() + missingGitignoreFileRule() + missingLicenseFileRule() + missingReadmeFileRule() + missingReadmeFileLicenseSectionRule() + missingTestsRule() + wrongLicenseInLicenseFileRule() + } +} + +fun RuleSet.ossProjectRules() { + // Rules for project sources: + unapprovedOssProjectLicenseRule() +} + +fun RuleSet.proprietaryProjectRules() { + // Rules for project sources: + copyleftInSourceRule() + copyleftLimitedInSourceRule() + + // Rules for dependencies: + commercialInDependencyRule() + copyleftInDependencyRule() + copyleftLimitedInDependencyRule() + freeRestrictedInDependencyRule() + genericInDependencyRule() + patentInDependencyRule() + proprietaryFreeInDependencyRule() + unkownInDependencyRule() + unstatedInDependencyRule() +} + +fun RuleSet.noCopyleftDependencyRules() { + copyleftInDependencyRule() + copyleftLimitedInDependencyRule() +} + +val ruleSet = ruleSet(ortResult, licenseInfoResolver, resolutionProvider) { + noCopyleftDependencyRules() +} + +// Populate the list of policy rule violations to return. +ruleViolations += ruleSet.violations diff --git a/.github/config/ort/license-classifications.yml b/.github/config/ort/license-classifications.yml new file mode 100644 index 00000000..db5faf53 --- /dev/null +++ b/.github/config/ort/license-classifications.yml @@ -0,0 +1,12681 @@ +# +# License classification generated based on https://scancode-licensedb.aboutcode.org/. +# +# This ORT configuration file is provided as an example only. It +# demonstrates the general configuration capabilities of ORT and does not +# reflect any real-world configuration used by the ORT contributors, nor +# are they a recommendation on the configuration to use. +# +# Please consult your legal counsel about how ORT should be configured for your use cases. +# +# For detailed documentation on this file, see +# https://github.com/oss-review-toolkit/ort/blob/main/docs/config-file-license-classifications-yml.md. +# +--- +categories: +- name: "cla" +- name: "commercial" +- name: "copyleft" +- name: "copyleft-limited" +- name: "free-restricted" +- name: "generic" +- name: "include-in-notice-file" +- name: "include-source-code-offer-in-notice-file" +- name: "patent-license" +- name: "permissive" +- name: "proprietary-free" +- name: "public-domain" +- name: "source-available" +- name: "unknown" +- name: "unstated-license" +categorizations: +- id: "0BSD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "3D-Slicer-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AAL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ADSL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AFL-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AFL-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AFL-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AFL-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AFL-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AGPL-1.0-only" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "AGPL-1.0-or-later" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "AGPL-3.0-only" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "AGPL-3.0-or-later" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "AMD-newlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AMDPLPA" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AML" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AML-glslang" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AMPAS" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ANTLR-PD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ANTLR-PD-fallback" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "APAFML" + categories: + - "permissive" + - "include-in-notice-file" +- id: "APL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "APSL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "APSL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "APSL-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "APSL-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "ASWF-Digital-Assets-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "ASWF-Digital-Assets-1.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "Abstyles" + categories: + - "permissive" + - "include-in-notice-file" +- id: "AdaCore-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Adobe-2006" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Adobe-Display-PostScript" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Adobe-Glyph" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Adobe-Utopia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Afmparse" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Aladdin" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Apache-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Apache-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Apache-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Apache-2.0 WITH Swift-exception" + categories: + - "permissive" + - "include-in-notice-file" +- id: "App-s2p" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Arphic-1999" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Artistic-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Artistic-1.0-Perl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Artistic-1.0-cl8" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Artistic-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Artistic-dist" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Aspell-RU" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-1-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause-Darwin" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause-Patent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause-Views" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause-first-lines" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-2-Clause-pkgconf-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-Attribution" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-Clear" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-HP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-LBNL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-Modification" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-No-Military-License" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "BSD-3-Clause-No-Nuclear-License" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "BSD-3-Clause-No-Nuclear-License-2014" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "BSD-3-Clause-No-Nuclear-Warranty" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "BSD-3-Clause-Open-MPI" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-Sun" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-acpica" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-3-Clause-flex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-4-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-4-Clause-Shortened" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-4-Clause-UC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-4.3RENO" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-4.3TAHOE" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Advertising-Acknowledgement" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Attribution-HPND-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Inferno-Nettverk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Protection" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "BSD-Source-Code" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Source-beginning-file" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Systemics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSD-Systemics-W3Works" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BSL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BUSL-1.1" + categories: + - "source-available" + - "include-in-notice-file" +- id: "Baekmuk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Bahyph" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Barr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Beerware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BitTorrent-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "BitTorrent-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Bitstream-Charter" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Bitstream-Vera" + categories: + - "permissive" + - "include-in-notice-file" +- id: "BlueOak-1.0.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Boehm-GC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Boehm-GC-without-fee" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Borceux" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Brian-Gladman-2-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Brian-Gladman-3-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "C-UDA-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "CAL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CAL-1.0-Combined-Work-Exception" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CATOSL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-2.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-2.5-AU" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-AT" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-AU" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-DE" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-IGO" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-NL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-3.0-US" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-4.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CC-BY-NC-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-3.0-DE" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-3.0-DE" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-3.0-IGO" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-ND-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-2.0-DE" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-2.0-FR" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-2.0-UK" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-3.0-DE" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-3.0-IGO" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-NC-SA-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-3.0-DE" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-ND-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "CC-BY-SA-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-2.0-UK" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-2.1-JP" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-2.5" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-3.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-3.0-AT" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-3.0-DE" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-3.0-IGO" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-BY-SA-4.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC-PDDC" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "CC-PDM-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "CC-SA-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CC0-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "CDDL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CDDL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CDL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CDLA-Permissive-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CDLA-Permissive-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CDLA-Sharing-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CECILL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CECILL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CECILL-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CECILL-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CECILL-B" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CECILL-C" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CERN-OHL-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CERN-OHL-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CERN-OHL-P-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CERN-OHL-S-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CERN-OHL-W-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CFITSIO" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CMU-Mach" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CMU-Mach-nodoc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CNRI-Jython" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CNRI-Python" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CNRI-Python-GPL-Compatible" + categories: + - "permissive" + - "include-in-notice-file" +- id: "COIL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CPAL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "CPOL-1.02" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "CUA-OPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Caldera" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "Caldera-no-preamble" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Catharon" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ClArtistic" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Clips" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Community-Spec-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Condor-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Cornell-Lossless-JPEG" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Cronyx" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Crossword" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CryptoSwift" + categories: + - "permissive" + - "include-in-notice-file" +- id: "CrystalStacker" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Cube" + categories: + - "permissive" + - "include-in-notice-file" +- id: "D-FSL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "DEC-3-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DL-DE-BY-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DL-DE-ZERO-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DOC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DRL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DRL-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DSDP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DocBook-DTD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DocBook-Schema" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DocBook-Stylesheet" + categories: + - "permissive" + - "include-in-notice-file" +- id: "DocBook-XML" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Dotseqn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ECL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ECL-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "EFL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "EFL-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "EPICS" + categories: + - "permissive" + - "include-in-notice-file" +- id: "EPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "EPL-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "EUDatagrid" + categories: + - "permissive" + - "include-in-notice-file" +- id: "EUPL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "EUPL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "EUPL-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Elastic-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "Entessa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ErlPL-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Eurosym" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "FBM" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FDK-AAC" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "FSFAP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FSFAP-no-warranty-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FSFUL" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "FSFULLR" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FSFULLRSD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FSFULLRWD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FSL-1.1-ALv2" + categories: + - "source-available" + - "include-in-notice-file" +- id: "FSL-1.1-MIT" + categories: + - "source-available" + - "include-in-notice-file" +- id: "FTL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Fair" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Ferguson-Twofish" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Frameworx-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "FreeBSD-DOC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "FreeImage" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Furuseth" + categories: + - "permissive" + - "include-in-notice-file" +- id: "GCR-docs" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "GFDL-1.1-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.1-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.1-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.1-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.1-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.1-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.2-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GFDL-1.3-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GL2PS" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GLWTPL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "GPL-1.0-only" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-1.0-or-later" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-2.0-only" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-2.0-only WITH Classpath-exception-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-2.0-or-later" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-2.0-or-later WITH Classpath-exception-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-only" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-only WITH Autoconf-exception-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-only WITH Classpath-exception-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-only WITH GCC-exception-3.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-or-later" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-or-later WITH Classpath-exception-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "GPL-3.0-or-later WITH GCC-exception-3.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Game-Programming-Gems" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Giftware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Glide" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Glulxe" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Graphics-Gems" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Gutmann" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HDF5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HIDAPI" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HP-1986" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HP-1989" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-DEC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Fenneberg-Livingston" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-INRIA-IMAG" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Intel" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Kevlin-Henney" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-MIT-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Markus-Kuhn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Netrek" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-Pbmplus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-UC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-UC-export-US" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "HPND-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-doc-sell" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-export-US" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "HPND-export-US-acknowledgement" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "HPND-export-US-modify" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-export2-US" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-merchantability-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-sell-MIT-disclaimer-xserver" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-sell-regexpr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-sell-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-sell-variant-MIT-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HPND-sell-variant-MIT-disclaimer-rev" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HTMLTIDY" + categories: + - "permissive" + - "include-in-notice-file" +- id: "HaskellReport" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Hippocratic-2.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "IBM-pibs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ICU" + categories: + - "permissive" + - "include-in-notice-file" +- id: "IEC-Code-Components-EULA" + categories: + - "permissive" + - "include-in-notice-file" +- id: "IJG" + categories: + - "permissive" + - "include-in-notice-file" +- id: "IJG-short" + categories: + - "permissive" + - "include-in-notice-file" +- id: "IPA" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "IPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "ISC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ISC-Veillard" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ImageMagick" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Imlib2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Info-ZIP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Inner-Net-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "InnoSetup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Intel" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Intel-ACPI" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Interbase-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "JPL-image" + categories: + - "source-available" + - "include-in-notice-file" +- id: "JPNIC" + categories: + - "permissive" + - "include-in-notice-file" +- id: "JSON" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Jam" + categories: + - "permissive" + - "include-in-notice-file" +- id: "JasPer-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Kastrup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Kazlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Knuth-CTAN" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LAL-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LAL-1.3" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-2.0-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-2.0-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-2.1-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-2.1-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-3.0-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPL-3.0-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LGPLLR" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LOOP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LPD-document" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPL-1.02" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPPL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPPL-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPPL-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPPL-1.3a" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LPPL-1.3c" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LZMA-SDK-9.11-to-9.20" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LZMA-SDK-9.22" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "Latex2e" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Latex2e-translated-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Leptonica" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LiLiQ-P-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LiLiQ-R-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LiLiQ-Rplus-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Libpng" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-3com-microcode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-3dslicer-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-4suite-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-996-icu-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-Hippocratic-3.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-a-star-logic-memoire-temp" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aardvark-py-2014" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-abrms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-abstyles" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ac3filter" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-accellera-systemc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-acdl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ace-tao" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-acki-nacki-node-2024-10-04" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-acm-sla" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-acroname-bdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-acter-psl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-activepieces-enterprise-2023" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-activestate-community" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-activestate-community-2012" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-activestate-komodo-edit" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-activision-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-actuate-birt-ihub-ftype-sla" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adacore-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adapt-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-adaptec-downloadable" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adaptec-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adcolony-tos-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-addthis-mobile-sdk-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adi-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adi-bsd-2011" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adi-bsd-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-acrobat-reader-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-air-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-air-sdk-2014" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-color-profile-bundling" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-color-profile-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-dng-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-dng-spec-patent" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-flash-player-eula-21.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-flex-4-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-flex-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-general-tou" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-glyph" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-indesign-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-postscript" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-scl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adobe-utopia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adrian" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-adsl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aes-128-3.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-affine-ee-2023" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afl-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afl-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afl-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afl-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afmparse" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-afpl-8.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-afpl-9.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ag-grid-enterprise" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-agentxpp" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-agere-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-agere-sla" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ago-private-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-agpl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-agpl-1.0-plus" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-agpl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-agpl-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-agpl-3.0-plus" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-agtpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aladdin-md5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-alasir" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aldor-public-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-alexisisaac-freeware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-allegro-4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-allen-institute-software-2018" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-alliance-open-media-patent-1.0" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-altermime" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-altova-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amazon-redshift-jdbc" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amazon-sl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amd-aspf-2023" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amd-historical" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amd-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amd-linux-firmware-export" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amdplpa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aml" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amlogic-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ampas" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-amplication-ee-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ams-fonts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-anaconda-tos-2024-03-30" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-android-sdk-2009" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-android-sdk-2012" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-android-sdk-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-android-sdk-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-android-sdk-preview-2015" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-anepokis-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-angi-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-anti-capitalist-1.4" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-antlr-pd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-antlr-pd-fallback" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-anu-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-any-osi" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-any-osi-perl-modules" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aop-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apache-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apache-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apache-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apache-due-credit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apafml" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apl-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-app-s2p" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-appfire-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-academic-lisa-os-3.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-attribution" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-attribution-1997" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-excl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-mfi-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-ml-ferret-2023" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-mpeg-4" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apple-sscl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-appsflyer-framework" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-apsl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-apsl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-apsl-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-apsl-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-aptana-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-arachni-psl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aravindan-premkumar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-argouml" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-arm-cortex-mx" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-arm-llvm-sga" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-arphic-public" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-array-input-method-pl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-artistic-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-artistic-1.0-cl8" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-artistic-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-artistic-clarified" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-artistic-dist-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-artistic-perl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-asal-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ascender-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ascender-web-fonts" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aslp" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aslr" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-asmus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-asn1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aspell-ru" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aswf-digital-assets-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aswf-digital-assets-1.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ati-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atkinson-hyperlegible-font" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-atlassian-marketplace-tou" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atmel-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atmel-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atmel-microcontroller" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-atmosphere-0.4" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-attribution" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-authorizenet-sdk" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-autodesk-3d-sft-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-autoit-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-autosar-proprietary" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-avdpro-2023-10-30" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-avsystem-5-clause" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-aws-ip-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-baekmuk-fonts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bahyph" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bakoma-fonts-1995" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bapl-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-barr-tex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-baserow-ee-2019" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-baserow-pe-2019" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bcrypt-solar-designer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bea-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-beal-screamer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bear-blog-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-beegfs-eula-2024" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-beerware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-beri-hw-sw-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-berryai-2024" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigcode-open-rail-m-v1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigdigits" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigelow-holmes" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigscience-open-rail-m" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigscience-open-rail-m2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bigscience-rail-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bilibili-model-ula-2025-09-09" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-binary-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-binary-linux-firmware-patent" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-biopython" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-biosl-4.0" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bitstream" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bittorrent-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-bittorrent-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-bittorrent-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-bittorrent-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bitwarden-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bitzi-pd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-blas-2017" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-blender-2010" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-blessing" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-blitz-artistic" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-bloomberg-blpapi" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-blueoak-1.0.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bohl-0.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bola10" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bola11" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-boost-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-boost-original" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-borceux" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-boutell-libgd-2021" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bpel4ws-spec" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bpmn-io" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brad-martinez-vb-32" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brankas-open-license-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brent-corkum" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brian-clapper" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brian-gladman" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brian-gladman-3-clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brian-gladman-dual" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-cfe" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-commercial" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-confidential" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-dual" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-broadcom-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-linux-timer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-opus-patent" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-proprietary" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-raspberry-pi" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-standard-terms" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-unpublished-source" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadcom-wiced" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-broadleaf-fair-use" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-brocade-firmware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bruno-podetti" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-1-clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-1-clause-build" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-1988" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-first-lines" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-freebsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-netbsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-pkgconf-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-plus-advertizing" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-2-clause-views" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-devine" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-fda" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-hp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-jtag" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-no-change" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-no-military" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-no-nuclear-warranty" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-no-trademark" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-open-mpi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-3-clause-sun" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-4-clause-shortened" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-ack" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-ack-carrot2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-advertising-acknowledgement" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-artwork" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-atmel" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-axis" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-axis-nomod" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-credit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-dpt" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-endorsement-allowed" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-export" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-gnu-efi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-inferno-nettverk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-innosys" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-intel" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-mylex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-new" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-new-derivative" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-new-nomod" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-new-tcpdump" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-no-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-no-disclaimer-unmodified" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-no-mod" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original-muscle" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original-uc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original-uc-1986" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original-uc-1990" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-original-voices" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-plus-mod-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-plus-patent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-protection" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-bsd-simplified" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-simplified-darwin" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-simplified-intel" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-simplified-source" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-source-code" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-systemics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-systemics-w3works" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-top" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-top-gpl-addition" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-unchanged" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-unmodified" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-x11" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsd-zero" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsl-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsl-1.1" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsla" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bsla-no-advert" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bugsense-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bytemark" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bzip2-libbzip-1.0.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-bzip2-libbzip-2010" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-c-fsl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-c-uda-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ca-ossl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ca-tosl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cadence-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cal-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cal-1.0-combined-work-exception" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-caldera" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-caldera-no-preamble" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-camunda-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-2.0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-alberta-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-british-columbia-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-nova-scotia-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-ontario-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-can-ogl-toronto-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-canonical-ha-cla-any-e-v1.2" + categories: + - "cla" +- id: "LicenseRef-scancode-canonical-ha-cla-any-i-v1.2" + categories: + - "cla" +- id: "LicenseRef-scancode-canonical-iprights-2015" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-capec-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-caramel-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-caramel-license-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-careware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-carnegie-mellon" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-carnegie-mellon-contributors" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-catharon-osl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cavium-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cavium-malloc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cavium-targeted-hardware" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-2.0-uk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-2.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-2.5-au" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-at" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-au" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-de" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-igo" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-nl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-3.0-us" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-4.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-3.0-de" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-2.0-at" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-2.0-au" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-3.0-de" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-3.0-igo" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-nd-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-de" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-fr" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-uk" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-de" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-igo" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-us" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nc-sa-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-2.5" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-3.0-de" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-nd-4.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-2.0-uk" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-2.1-jp" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-2.5" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-3.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-3.0-at" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-3.0-de" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-3.0-igo" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-by-sa-4.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-devnations-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-gpl-2.0-pt" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-lgpl-2.1-pt" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-nc-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-nc-sampling-plus-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-nd-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-pdm-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-sa-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cc-sampling-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc-sampling-plus-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cc0-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ccg-research-academic" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cclrc" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ccrc-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cddl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cddl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cdla-permissive-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cdla-permissive-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cdla-sharing-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-1.0-en" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-2.0-fr" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-2.1-fr" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-b" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cecill-b-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cecill-c" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cecill-c-en" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cern-attribution-1995" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cern-ohl-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cern-ohl-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cern-ohl-p-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cern-ohl-s-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cern-ohl-w-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cexcept-2008" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cfitsio" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cgic" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chameleon-research-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-charmpp-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-charmpp-converse-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chartdirector-6.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-check-cvs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-checkmk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chelsio-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chicken-dl-0.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chillicream-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-chris-maunder" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-chris-stoy" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-christopher-velazquez" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cisco-avch264-patent" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-classic-vb" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-classworlds" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-clear-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-clear-bsd-1-clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-clearthought-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-click-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-clips-2017" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cloudera-express" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmigemo" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmr-no" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-computing-services" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-flite" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-nara-nagoya" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-simple" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-template" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cmu-uc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cncf-corporate-cla-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-cncf-individual-cla-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-cnri-jython" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cnri-python-1.6" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cnri-python-1.6.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cockroach" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cockroachdb-2024-10-01" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-code-credit-license-1.0.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-code-credit-license-1.0.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-code-credit-license-1.1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-codeguru-permissions" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-codesourcery-2004" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-codexia" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cognitive-web-osl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-coil-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-colt" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-com-oreilly-servlet" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-commercial-license" + categories: + - "generic" +- id: "LicenseRef-scancode-commercial-option" + categories: + - "generic" +- id: "LicenseRef-scancode-commonj-timer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-compass" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-componentace-jcraft" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-concursive-pl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-condor-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-confluent-community-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cooperative-non-violent-4.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cooperative-non-violent-6.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cooperative-non-violent-7.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-copyheart" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-copyleft-next-0.3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-copyleft-next-0.3.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cornell-lossless-jpeg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-corporate-accountability-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cosl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cosli" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-couchbase-community" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-couchbase-enterprise" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cpal-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cpl-0.5" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cpm-2022" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cpol-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cpol-1.02" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cpp-core-guidelines" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crapl-0.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crashlytics-agreement-2018" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crcalc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cronyx" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crossword" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crunchbase-data-2019-12-17" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crypto-keys-redistribution" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cryptopp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cryptoswift" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-crystal-stacker" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-csl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-csla" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-csprng" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ctl-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cua-opl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-cube" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cubiware-software-1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cups" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-curl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cve-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cvwl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cwe-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cximage" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cypress-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-cyverse-3-clause-2017" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-d-fsl-1.0-de" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-d-fsl-1.0-en" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-d-zlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-daikon-2022" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-damail" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dante-treglia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-databricks-db" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-databricks-dbx-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-datamekanix-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-day-spec" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dbad" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dbad-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dbcl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dbisl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dco-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-dco-1.1" + categories: + - "cla" +- id: "LicenseRef-scancode-dec-3-clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-deepseek-la-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-defensive-patent-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-defold-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dejavu-font" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-delorie-historical" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dennis-ferguson" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-devblocks-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dgraph-cla" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dhb-lbnl-bsd-2007" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dhb-limited-bsd-2015" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dhtmlab-public" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-diffgram-dlv2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-diffmark" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-digia-qt-commercial" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-digia-qt-preview" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-divx-open-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-divx-open-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-djangosnippets-tos" + categories: + - "cla" +- id: "LicenseRef-scancode-dl-de-by-1-0-de" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-by-1-0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-by-2-0-de" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-by-2-0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-by-nc-1-0-de" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-by-nc-1-0-en" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dl-de-zero-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dmalloc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dmtf-2017" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-do-no-harm-0.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-docbook" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-docbook-dtd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-docbook-schema" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-docbook-stylesheet" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dom4j" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dos32a-extender" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dosa-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dotseqn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-doug-lea" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-douglas-young" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dpl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-dr-john-maddock" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-drl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-drl-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dropbear" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dropbear-2016" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-drul-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dsdp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dtree" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dual-bsd-gpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dual-commercial-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-duende-sla-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dumb" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dvipdfm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dwtfnmfpl-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dynamic-drive-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dynarch-developer" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-dynarch-linkware" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecfonts-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecl-gcl-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2001" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2002" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2003" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2004" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2005" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2010" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2011" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2014" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2014-11" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-sua-2017" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eclipse-tck-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecma-documentation" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecma-patent-coc-0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecma-patent-coc-1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecma-patent-coc-2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecma-standard-copyright-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ecosrh-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ecosrh-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-edrdg-2000" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-efl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-efl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-efsl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-efsl-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-egenix-1.0.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-egenix-1.1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-egrappler" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ej-technologies-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ekioh" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-elastic-license-2018" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-elastic-license-v2" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-elib-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-elixir-trademark-policy" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ellis-lab" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-embedthis-evaluation" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-embedthis-extension" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-embedthis-tou-2022" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-emit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-emx-library" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-energyplus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-energyplus-2023" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-energyplus-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-enhydra-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-enlightenment" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-enna" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-entessa-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-epaperpress" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-epics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-epl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-epl-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-epo-osl-2005.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-epson-avasys-pl-2008" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-epson-linux-sla-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-eqvsl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-eric-glass" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-erlangpl-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-esri" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-esri-devkit" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-etalab-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-etalab-2.0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-etalab-2.0-fr" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-eu-datagrid" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-eupl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eupl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eupl-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-eurosym" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-examdiff" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-exaone-ai-model-1.1-nc" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-excelsior-jet-runtime" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fabien-tassin" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fabric-agreement-2017" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-facebook-nuclide" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-facebook-patent-rights-2" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-facebook-software-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fair" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fair-ai-public-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fair-ai-public-1.0-sd" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fair-source-0.9" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-falcon-2-11b-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fancyzoom" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fastbuild-2012-2020" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fastcgi-devkit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fatfs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fbm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fcl-1.0-apache-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fcl-1.0-mit" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ferguson-twofish" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ffsl-1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fftpack-2004" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fido-metadata-ut-3.00" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-filament-group-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-first-epss-usage" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-first-works-appreciative-1.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flex-2.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flex2sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flora-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flowcrypt-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flowcrypt-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flowcrypt-1.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-flowplayer-gpl-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-flux-1-nc" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-font-alias" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-foobar2000" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fpdf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fplot" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-frameworx-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fraunhofer-fdk-aac-codec" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fraunhofer-iso-14496-10" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-free-art-1.3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-free-fork" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-free-surfer-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-free-unknown" + categories: + - "unknown" +- id: "LicenseRef-scancode-freebsd-boot" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freebsd-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freebsd-first" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freeimage-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-freemarker" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freertos-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freetts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freetype" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-freetype-patent" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-froala-owdl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-frontier-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fsf-ap" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsf-free" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsf-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsf-regex-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-fsf-unlimited" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsf-unlimited-no-warranty" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsfap-no-warranty-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsfullrsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsl-1.0-apache-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsl-1.0-mit" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsl-1.1-apache-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fsl-1.1-mit" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ftdi" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ftpbean" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-furuseth" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-futo-sfl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-futo-sfl-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-futo-sfl-1.1-kb" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-fwlw" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-g10-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gareth-mccaughan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gary-s-brown" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gatling-highcharts" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gaussian-splatting-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gcel-2022" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gco-v3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gcr-docs" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gdcl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-geant4-sl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gemini-api-additional-tos-2025" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gemma-pup-2024-02-21" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gemma-tou-2024-04-01" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gemma-tou-2025-03-24" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-generaluser-gs-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-generic-amiwm" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-generic-cla" + categories: + - "generic" +- id: "LicenseRef-scancode-generic-export-compliance" + categories: + - "generic" +- id: "LicenseRef-scancode-generic-loop" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-generic-tos" + categories: + - "generic" +- id: "LicenseRef-scancode-generic-trademark" + categories: + - "generic" +- id: "LicenseRef-scancode-generic-xts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-genivia-gsoap" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-geoff-kuenning-1993" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-geogebra-ncla-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.1-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.2-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3-no-invariants-only" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3-no-invariants-or-later" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gfdl-1.3-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ghostpdl-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ghostscript-1988" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-github-codeql-terms-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gitlab-ee" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gitleaks-action-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gitpod-self-hosted-free-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gl2ps" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gladman-older-rijndael-code" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gladman-older-rijndael-code-use" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-glide" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-glulxe" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-glut" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-glwtpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gnu-emacs-gpl-1985" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gnu-emacs-gpl-1988" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gnuplot" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-goahead" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-good-boy" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-analytics-tos" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-analytics-tos-2015" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-analytics-tos-2016" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-analytics-tos-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-apis-tos-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-google-corporate-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-google-maps-tos-2018-02-07" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-05-01" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-06-07" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-07-09" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-07-19" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-10-01" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2018-10-31" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2019-05-02" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2019-11-21" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2020-04-02" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2020-04-27" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-maps-tos-2020-05-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-ml-kit-tos-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license-fuchsia" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license-fuschia" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license-golang" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license-webm" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-patent-license-webrtc" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-playcore-sdk-tos-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-tos-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-tos-2014" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-tos-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-tos-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-google-tos-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gpl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-1.0-plus" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-2.0-adaptec" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-2.0-djvu" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-2.0-koterov" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-2.0-plus" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gpl-3.0-plus" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gradle-enterprise-sla-2022-11-" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gradle-enterprise-sla-2022-11-08" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gradle-tou-2022-01-13" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-graphics-gems" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-greg-roelofs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gregory-pietsch" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gretelai-sal-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gsap-standard-no-charge-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gsoap-1.3a" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gsoap-1.3b" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gtkbook" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gtpl-v1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gtpl-v2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gtpl-v3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gumroad-cl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gust-font-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gust-font-2006-09-30" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-gutenberg-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-gutmann" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-h2-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-hacking-license" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-hacos-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-happy-bunny" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-haskell-report" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hauppauge-firmware-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hauppauge-firmware-oem" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hazelcast-community-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hdf4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hdf5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hdparm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-helios-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-helix" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-henry-spencer-1999" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-here-disclaimer" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-here-proprietary" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hessla" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hfoil-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hidapi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-1.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-1.2" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-2.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-2.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hippocratic-3.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-historical" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-historical-ntp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-historical-sell-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-homebrewed" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hot-potato" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-houdini" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-houdini-project" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-hp" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-1986" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-enterprise-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-netperf" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-proliant-essentials" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-snmp-pp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-software-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-ux-java" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hp-ux-jre" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-doc-sell" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-export-us" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-export-us-acknowledgement" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-fenneberg-livingston" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-inria-imag" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-mit-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-netrek" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-pbmplus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-sell-mit-disclaimer-xserver" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-sell-regexpr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-sell-variant-mit-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-sell-variant-mit-disclaimer-rev" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-uc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hpnd-uc-export-us" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hs-regexp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hs-regexp-orig" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-html5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-httpget" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-huggingface-tos-20220915" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hugo" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hxd" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-hyperclova-x-seed-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ian-kaplan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ian-piumarta" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-as-is" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-data-server-2011" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-developerworks-community" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-developerworks-community-download" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-dhcp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-employee-written" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-glextrusion" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-icu" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-java-portlet-spec-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-jre" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-nwsc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-pibs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibm-sample" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ibmpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ibpp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ic-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ic-shared-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-icann-public" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-icot-free" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-idt-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-iec-code-components-eula" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ietf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ietf-trust" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ijg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ijg-2020" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ijg-short" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ilmid" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-imagemagick" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-imagen" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-imlib2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-indiana-extreme" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-indiana-extreme-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-infineon-free" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-1997-10" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2001-01" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2002-02" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2003-05" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2004-05" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2005-02" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2007-03" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-info-zip-2009-01" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-infonode-1.1" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-initial-developer-public" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-inner-net-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-inno-setup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-inria-compcert" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-inria-icesl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-inria-zelus" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-installsite" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-acpi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-bcl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-bsd-2-clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-bsd-export-control" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-code-samples" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-confidential" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-master-eula-sw-dev-2016" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-material" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-mcu-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-microcode" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-osl-1989" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-osl-1993" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-royalty-free" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-sample-source-code-2015" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-intel-scl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-interbase-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-iozone" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ipa-font" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ipca" + categories: + - "cla" +- id: "LicenseRef-scancode-iptc-2006" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-irfanview-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-isc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-iso-14496-10" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-iso-8879" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-iso-recorder" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-isotope-cla" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-issl-2018" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-issl-2022" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-itc-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-itu" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-itu-t" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-itu-t-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-itunes" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ja-sig" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jahia-1.3.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-jam" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jam-stapl" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jamon" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jason-mayes" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jasper-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jasper-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-java-app-stub" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-java-research-1.5" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-java-research-1.6" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jboss-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jdbm-1.00" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jdom" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jelurida-public-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-jetbrains-purchase-terms" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jetbrains-toolbox-open-source-3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jetbrains-toolbox-oss-3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jetty" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jetty-ccla-1.1" + categories: + - "cla" +- id: "LicenseRef-scancode-jgraph" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jgraph-general" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jide-sla" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jj2000" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jmagnetic" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-joinbase-cela-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-joplin-server-personal-v1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-josl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-jove" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jpegxr" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jpl-image" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jpnic-idnkit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jpnic-mdnkit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jprs-oscl-1.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jpython-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jquery-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jrunner" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jscheme" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jsel-2.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jsfromhell" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-json" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-json-js-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-json-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jsr-107-jcache-spec" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jsr-107-jcache-spec-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-jython" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kalle-kaukonen" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-karl-peterson" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kastrup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-katharos-0.1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-katharos-0.2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kazlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kde-accepted-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-kde-accepted-lgpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-keep-ee-2024" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-keith-rule" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kerberos" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kevan-stannard" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kevlin-henney" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-keypirinha" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kfgqpc-uthmanic-script-hafs" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-khronos" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-knuth-ctan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ko-man-page" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kreative-relay-fonts-free-1.2f" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kreative-relay-fonts-free-use-1.2f" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kubesphere-osl-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-kumar-robotics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-la-opt-nxp-v51-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lal-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lal-1.3" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lance-norskog-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lanl-bsd-3-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-larabie" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-latex2e" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-latex2e-translated-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lattice-osl-2017" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lavantech" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lbnl-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lcs-telegraphics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ldap-sdk-free-use" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ldpc-1994" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpc-1997" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpc-1999" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpgpl-1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpgpl-1a" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ldpm-1998" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-leap-motion-sdk-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lens-tos-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-leptonica" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lgpl-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpl-2.0-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpl-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpl-2.1-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpl-3.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpl-3.0-plus" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lgpllr" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lha" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libcap" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libgd-2018" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libgeotiff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libmib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libmng-2007" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libpbm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libpng" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libpng-1.6.35" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libpng-v2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-librato-exception" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libselinux-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libsrv-1.0.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libutil-david-nugent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-libzip" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-license-file-reference" + categories: + - "unknown" +- id: "LicenseRef-scancode-liferay-dxp-eula-2.0.0-2023-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-liferay-ee" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-liferay-marketplace-tos" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lil-1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-liliq-p-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-liliq-r-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-liliq-rplus-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lilo" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linotype-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linum" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linux-device-drivers" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linux-man-pages-1-para" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-linux-man-pages-2-para" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-linux-man-pages-copyleft-var" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-linux-openib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linuxbios" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-linuxhowtos" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-2-license-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-3.1-license-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-3.2-license-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-3.3-license-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-4-cla-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-4-license-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llama-license-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-llnl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-logica-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lontium-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-loop" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-losla" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.3a" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.3b" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lppl-1.3c" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lsi-proprietary-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ltxv-owl-2025-04-17" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ltxv-owl-2025-05-05" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lucent-pl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lucent-pl-1.02" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lucre" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lumisoft-mail-server" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-luxi" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lyubinskiy-dropdown" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lyubinskiy-popup-window" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-2006" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-2008" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-9.11-to-9.20" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-9.22" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-original" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-lzma-sdk-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-m-plus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-madwifi-dual" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-magaz" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mailprio" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-makeindex" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mame" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-man2html" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-manfred-klein-fonts-tos" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mapbox-tos-2021" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mapbox-tos-2024" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-markus-kuhn-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-markus-mummert-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-martin-birgmeier" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-marvell-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-marvell-firmware-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-matplotlib-1.3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-matt-gallagher-attribution" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mattermost-sal-2024" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-matthew-kwan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-matthew-welch-font-license" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mattkruse" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-max-mojo-community-20240828" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-maxmind-geolite2-eula-2019" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-maxmind-odl" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mcafee-tou" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mcphee-slideshow" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mcrae-pl-4-r53" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mdl-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediainfo-lib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-no-warranty" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-proprietary-2005" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-proprietary-2008" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-proprietary-2010" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-proprietary-2016" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mediatek-proprietary-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-melange" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mentalis" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-menuet64-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-merit-network-derivative" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-metageek-inssider-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-metamail" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-metrolink-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mgb-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mgopen-font-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-michael-barr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-michigan-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microchip-enc28j60-2009" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microchip-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microchip-pk2cmd-2009" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microchip-products-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microsoft-enterprise-library-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-microsoft-windows-rally-devkit" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mike95" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-minecraft-mod" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-minpack" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mips" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mir-os" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-1995" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-ack" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-addition" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-export-control" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-khronos-old" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-kyle-restrictions" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-license-1998" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-modern" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-nagy" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-no-advert-export-control" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-no-false-attribs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-no-trademarks" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-old-style" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-old-style-no-advert" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-old-style-sparse" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-proprietary" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-readme" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-specification-disclaimer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-synopsys" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-taylor-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-testregex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-veillard-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-with-modification-obligations" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mit-xfig" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mmixware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mod-dav-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-moderne-sala-2024" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-monetdb-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mongodb-sspl-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-monkeysaudio" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-moonshot-ai-modified-mit-2025" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-morbig-ieee-std-usage" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-motorola" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-motosoto-0.9.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mov-ai-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-moxa-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mozilla-gc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mozilla-ospl-1.0" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpeg-7" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpeg-iso" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpeg-ssg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpi-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpich" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mpl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mpl-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mpl-2.0-no-copyleft-exception" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ms-api-code-pack-net" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-ajax-supp-terms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-ajax-supplemental-terms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-mvc3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-mvc4" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-mvc4-extensions" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-software" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-tools-pre-release" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-web-optimization" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-web-optimization-framework" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-web-pages-2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-asp-net-web-pages-templates" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-azure-data-studio" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-azure-rtos-2020-05" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-azure-rtos-2020-07" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-azure-rtos-2023-05" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-azure-spatialanchors-2.9.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-capicom" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-cl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ms-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-ms-container-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-control-spy-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-data-tier-af-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-dev-services-2018-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-dev-services-agreement" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-developer-services-agreement" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-developer-services-agreement-2018-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-device-emulator-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-direct3d-d3d120n7-1.1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-directx-sdk-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-directx-sdk-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-dxsdk-d3dx-9.29.952.3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-edge-devtools-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-edge-webview2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-edge-webview2-fixed" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-enterprise-library-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-entity-framework-4.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-entity-framework-5" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-eula-win-script-host" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-exchange-server-2010-sp2-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-exchange-srv-2010-sp2-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-iis-container-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-iis-container-images-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-ilmerge" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-invisible-eula-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-jdbc-driver-40-sql-server" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-jdbc-driver-41-sql-server" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-jdbc-driver-60-sql-server" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-kinext-win-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-limited-community" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-limited-public" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-lpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-msn-webgrease" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-framework-4-supp-terms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-framework-4-supplemental-terms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-framework-deployment" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-library" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-library-2016-05" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-library-2018-11" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-library-2019-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-net-library-2020-09" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-nt-resource-kit" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-nuget" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-nuget-package-manager" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-office-extensible-file" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-office-system-programs-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-opus-patent-2012" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-patent-promise" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-patent-promise-mono" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-permissive-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-pl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-platform-sdk" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-pre-release-sla-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-programsynthesis-7.22.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-python-vscode-pylance-2021" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-reactive-extensions-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-refl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-remote-ndis-usb-kit" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-research-license-terms" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-research-shared-source" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-rl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ms-rndis" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-rsl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-silverlight-3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-specification" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-sql-server-compact-4.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-sql-server-data-tools" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-sspl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-sysinternals-sla" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-testplatform-17.0.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-ttf-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-typescript-msbuild-4.1.4" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-2008-runtime" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-2010-runtime" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-2015-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-cpp-2015-runtime" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-studio-2017" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-studio-2017-tools" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-studio-code" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-studio-code-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-visual-studio-code-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-vs-addons-ext-17.2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-web-developer-tools-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-win-container-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-win-sdk-server-2008-net-3.5" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-container-base-image-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-driver-kit" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-identity-foundation" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-os-2018" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-sdk-server-2008-net-3.5" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-sdk-win10" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-sdk-win10-net-6" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-sdk-win7-net-4" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-server-2003-ddk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-windows-server-2003-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-ws-routing-spec" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-xamarin-uitest3.2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ms-xml-core-4.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-msdn-magazine-sample-code-2007" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-msj-sample-code" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-msntp" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-msppl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mstar-2007" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mstar-2012" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mtll" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mtx-licensing-statement" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mui-x-eula-2024" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mulanpsl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mulanpsl-1.0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mulanpsl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mulanpsl-2.0-en" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mulanpubl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mulanpubl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mule-source-1.1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mule-source-1.1.4" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-mulle-kybernetik" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-multics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mut-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mvt-1.1" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mx4j" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-mxparser-dual-2024-05-19" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-n8n-ee-2022" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-naist-2003" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nanoporetech-public-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nasa-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-naughter" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-naumen" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nbpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ncbi" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ncgl-uk-2.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ncsa-httpd-1995" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nero-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-net-snmp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netapp-sdk-aug2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netcat" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netcdf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netcomponents" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netdata-ncul1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netron" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-netronome-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-network-time-protocol" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-new-relic" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-new-relic-1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-newlib-historical" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-newran" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-newsletr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-newton-king-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-nexb-eula-saas-1.1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nexb-ssla-1.1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ngpl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ngrep" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nicta-psl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-niels-ferguson" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nilsson-historical" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nist-nvd-api-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nist-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nist-pd-fallback" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nist-software" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nist-srd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nlod-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nlod-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nlpl" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-no-license" + categories: + - "unknown" +- id: "LicenseRef-scancode-node-js" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nokos-1.0a" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-non-violent-4.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-non-violent-7.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nonexclusive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nortel-dasa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-northwoods-evaluation-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-northwoods-sla-2021" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-northwoods-sla-2024" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nosl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-nosl-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-notre-dame" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-noweb" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-npl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-npl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-nrl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nrl-permission" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ntia-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ntlm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ntp-0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ntpl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ntpl-origin" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nucleusicons-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-numerical-recipes-notice" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nunit-v2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-2002" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-apex-sdk-eula-2011" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-cuda-supplement-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-dlc-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-gov" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-isaac-eula-2019.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-model-training-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-nccl-sla-2016" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-ngx-eula-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-open-model-2025-04-28" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-sdk-12.8" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-sdk-eula-v0.11" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nvidia-video-codec-agreement" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nwhm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxlog-public-license-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-firmware-patent" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-mc-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-microcontroller-proprietary" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-microctl-proprietary" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nxp-warranty-disclaimer" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nysl-0.9982" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-nysl-0.9982-jp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-o-uda-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-o-young-jong" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oasis-ipr-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oasis-ipr-policy-2014" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oasis-ws-security-spec" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-obsidian-tos-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ocamlpro-nc-v1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ocb-non-military-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ocb-open-source-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ocb-patent-openssl-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-occt-pl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-oclc-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-oclc-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ocsl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-octl-0.21" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oculus-sdk" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-oculus-sdk-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oculus-sdk-3.5" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odb-cpl" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odb-fpl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odb-ncuel" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-odbl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-odc-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-odc-by-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odin-2000" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odmg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odoo-eel-1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-odoo-pl-1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-offis" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.0-no-rfn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.0-rfn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.1-no-rfn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofl-1.1-rfn" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofrak-community-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofrak-community-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ofrak-pro-1.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogc-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogc-2006" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogc-document-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogdl-taiwan-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-1.0a" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-canada-2.0-fr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-uk-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-uk-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-uk-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ogl-wpd-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ohdl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-okl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-oknosoft-2021" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-olf-ccla-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-olf-icla-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-olfl-1.3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oll-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-omg-bpmn-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-on2-patent" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-onezoom-np-sal-v1" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ooura-2001" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-open-aleph-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-open-diameter" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-open-public" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-open-webui-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-open-weights-permissive-1.0.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openai-tou-20230314" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openai-tou-20241211" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openatom-model-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opencarp-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opengroup" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-opengroup-pl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openi-pl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openldap-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openldap-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openldap-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openldap-1.4" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.0.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.2.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.6" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.7" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openldap-2.8" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openmap" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openmarket-fastcgi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openmdw-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opennetcf-shared-source" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openorb-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openpbs-2.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-openpub" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opensaml-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openssh" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openssl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openssl-ssleay" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openvision" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openvpn-as-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-openwall-md5-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opera-eula-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opera-eula-eea-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opera-widget-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-opl-uk-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opml-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opnl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-opnl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-java-platform-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-java-platform-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-javaee" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-javase-javafx-2012" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-javase-javafx-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bcl-jsse-1.0.3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-bsd-no-nuclear" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-code-samples-bsd" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-commercial-database-11g2" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-commercial-db-11g2" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-devtools-vsnet-dev" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-entitlement-05-15" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-free-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-gftc-2023-06-12" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-java-ee-sdk-2010" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-master-agreement" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-nftc-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-otn-javase-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-sql-developer" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-vb-puel-12" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oracle-web-sites-tou" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oreilly-notice" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-os-maintenance-fee-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-os4d-1.1-apache-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oset-pl-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osetpl-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osf-1990" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-osgi-spec-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-osl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osl-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osl-2.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-osl-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ossn-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-osvdb" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oswego-concurrent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-other-copyleft" + categories: + - "generic" +- id: "LicenseRef-scancode-other-permissive" + categories: + - "generic" +- id: "LicenseRef-scancode-otn-dev-dist" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-dev-dist-2009" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-dev-dist-2014" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-dev-dist-2016" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-early-adopter-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-early-adopter-development" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otn-standard-2014-09" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-otnla-2016-11-30" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owal-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owf-cla-1.0-copyright" + categories: + - "cla" +- id: "LicenseRef-scancode-owf-cla-1.0-copyright-patent" + categories: + - "cla" +- id: "LicenseRef-scancode-owfa-1-0-patent-only" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owfa-1.0" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owfa-1.0-2023-05" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owfa-1.0-patent-only" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owl-0.9.4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-owtchart" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oxygen-xml-dev-eula-2025" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-oxygen-xml-webhelp-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ozplb-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ozplb-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-padl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paint-net" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paolo-messina-2000" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paraview-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-parity-6.0.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-parity-7.0.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-passive-aggressive" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-patent-disclaimer" + categories: + - "generic" +- id: "LicenseRef-scancode-paul-hsieh-derivative" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paul-hsieh-exposition" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paul-mackerras" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paul-mackerras-binary" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paul-mackerras-new" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paul-mackerras-simplified" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paulo-soares" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-paypal-sdk-2013-2016" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pbl-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pcre" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pd-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pd-programming" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pddl-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pdf-creator-pilot" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pdl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-perl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-peter-deutsch-document" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pfe-proprietary-notice" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pftijah-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-pftus-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-phaser-academic" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-phaser-ccp4" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-phaser-phenix" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-phil-bunce" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-philippe-de-muyter" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-philips-proprietary-notice-2000" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-philips-proprietary-notice2000" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-phorum-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-php-2.0.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-php-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-php-3.01" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pine" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pipedream-sal-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pivotal-tou" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pixabay-content" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pixar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-planet-source-code" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-plastimatch-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-playground-v2-community" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-plural-20211124" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pml-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pngsuite" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pnmstitch" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-politepix-pl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-defensive-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-free-trial-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-internal-use-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-noncommercial-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-perimeter-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-shield-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-small-business-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-polyform-strict-1.0.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-postgresql" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-postman-tos-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-powervr-tools-software-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ppl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ppp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-proconx-modbus-rev4" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-proprietary" + categories: + - "generic" +- id: "LicenseRef-scancode-proprietary-license" + categories: + - "generic" +- id: "LicenseRef-scancode-prosperity-1.0.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-prosperity-2.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-prosperity-3.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-protobuf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psf-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psf-3.7.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psfrag" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psion-s3aemul" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psion-siemul" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psion-wrkaemul" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psutils" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-psytec-freesoft" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-public-domain" + categories: + - "generic" +- id: "LicenseRef-scancode-public-domain-disclaimer" + categories: + - "generic" +- id: "LicenseRef-scancode-punycode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-purdue-bsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pybench" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pycrypto" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-pygres-2.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-python" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-python-2.0.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-python-cwi" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-python-ldap" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qaplug" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qca-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qca-technology" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qhull" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-qlogic-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qlogic-microcode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-qpl-1.0-inria-2004" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-qpopper" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qt-commercial-1.1" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qt-commercial-agreement-4.4.1" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qti-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-quadratic-sal-2024" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qualcomm-iso" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qualcomm-turing" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-quickfix-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-quicktime" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-quin-street" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-quirksmode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qwen-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-qwt-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rackspace" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-radiance-sl-v1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-radiance-sl-v2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-radvd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ralf-corsepius" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ralink-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rar-winrar-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rcsl-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rcsl-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rdisc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-reading-godiva-2010" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-realm-platform-extension-2017" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-red-hat-attribution" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-red-hat-bsd-simplified" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-red-hat-logos" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-red-hat-trademarks" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-redis-source-available-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-redpanda-community-la" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-regexp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-reportbug" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-repoze" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-research-disclaimer" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-responsible-ai-source-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-responsible-ai-source-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-retentioneering-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-retype-3.7.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rh-eula" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rh-eula-apache2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rh-eula-gpl2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rh-eula-lgpl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rh-standard-eula-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rh-ubi-eula-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ricebsd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-richard-black" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ricoh-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ril-2019" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-riverbank-sip" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-robert-hubley" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rockchip-proprietary-2019" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rockchip-proprietary-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rockchip-proprietary-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rocket-master-terms-2022" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rogue-wave" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-root-cert-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rpl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rpl-1.5" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rpsl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-rsa-1990" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-cryptoki" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-demo" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-md2" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-md4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-md5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsa-proprietary" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rsalv2" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rtools-util" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ruby" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ruby-pty" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rubyencoder-commercial" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rubyencoder-loader" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rute" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-rwth-returnn-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ryszard-szopa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-s-lab-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-saas-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-saf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-safecopy-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-salesforce-ai-aup-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-salesforce-ai-ethics-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-salesforce-au-external-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-salesforcesans-font" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-samba-dc-1.0" + categories: + - "cla" +- id: "LicenseRef-scancode-san-francisco-font" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sandeep" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sash" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sata" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sax-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sax-pd-2.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-saxix-mit" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-saxpath" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sbia-b" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scancode-acknowledgment" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scanlogd-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scansoft-1.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scea-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-schemereport" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scilab-en" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scilab-en-2005" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scilab-fr" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scintilla" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scola-en" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scola-fr" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scribbles" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-script-asylum" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-script-nikhilk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scrub" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-scsl-2.8" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-scsl-3.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-scylladb-sla-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-secret-labs-2011" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-see-license" + categories: + - "unknown" +- id: "LicenseRef-scancode-selinux-nsa-declaration-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-selv1" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-semaphore-ee-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-semgrep-registry" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-semgrep-rules-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sencha-commercial" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sencha-commercial-3.17" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sencha-commercial-3.9" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sendmail" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sendmail-8.23" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-sendmail-open-source-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-service-comp-arch" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sfl-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgi-cid-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgi-freeb-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgi-freeb-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgi-fslb-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgi-glx-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sglib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgmlug" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sgp4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sh-cla-1.1" + categories: + - "cla" +- id: "LicenseRef-scancode-shavlik-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-shital-shah" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-shl-0.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-shl-0.51" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-shopify-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-siesta-academic-individuals" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-siesta-computer-centres" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-silicon-image-2007" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-simpl-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-simpl-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-six-labors-split-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-skip-2014" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-sl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sleepycat" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-slf4j-2005" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-slf4j-2008" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-slint-commercial-2.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-slint-royalty-free-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-slysoft-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-smail-gpl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-smartlabs-freeware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-smppl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-smsc-non-commercial-2012" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snia" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-snmp4j-smi" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snort-subscriber-rules-3.1" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snowplow-cla-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snowplow-lula-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snowplow-person-academic-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-snprintf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-socketxx-2003" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sofa" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-softerra-ldap-browser-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-softfloat" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-softfloat-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-softfloat-2c" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-softsurfer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-solace-software-eula-2020" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-soml-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-sonar-sal-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-soundex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sourcegraph-enterprise-2018" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-spark-jive" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sparky" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-speechworks-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-spl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-splunk-3pp-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-splunk-mint-tos-2018" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-splunk-sla" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-square-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-squeak" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-srgb" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ssh-keyscan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ssleay" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ssleay-windows" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-st-bsd-restricted" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-st-mcd-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stability-ai-community-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stability-ai-nc-2023-12-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stable-diffusion-2022-08-22" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-standard-ml-nj" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stanford-mrouted" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-stanford-pvrg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-statamic-2022" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-statewizard" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-stax" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-stlport-2000" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stlport-4.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stmicro-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stmicroelectronics-centrallabs" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stmicroelectronics-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stream-benchmark" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-stu-nicholls" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sudo" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sugarcrm-1.1.3" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-11-06" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-11-07" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-11-08" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-j2re-1.2.x" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-j2re-1.4.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-j2re-1.4.x" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-j2re-5.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-java-servlet-imp-2.1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-javahelp" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-jimi-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-jre6" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-jsmq" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-opendmk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-openjdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-sdk-1.3" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-sdk-1.4.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-sdk-5.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-sdk-6.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bcl-web-start" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bsd-extra" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-bsd-no-nuclear" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-cc-pp-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-communications-api" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-ejb-spec-2.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-ejb-spec-3.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-entitlement-03-15" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-entitlement-jaf" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-glassfish" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-iiop" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-java-transaction-api" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-java-web-services-dev-1.6" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-java-web-services-dev-pack-1.6" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-javamail" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-jdl-jai-1.1.x" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-jsr-spec-04-2006" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-jta-spec-1.0.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-jta-spec-1.0.1b" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-no-high-risk-activities" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-ppp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-ppp-2000" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-project-x" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-prop-non-commercial" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-proprietary-jdk" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-rpc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-sdk-spec-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-sissl-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-sissl-1.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-sissl-1.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-source" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sun-ssscfr-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-sunpro" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sunsoft" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-supervisor" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sustainable-use-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-svndiff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-swig" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-swl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-swrule" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-sybase" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-symlinks" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-symphonysoft" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-synopsys-attribution" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-synopsys-mit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-synthesis-toolkit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-engine-public" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-2.1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-2.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-amp-t-kernel" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-amp-tkse" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-smp-t-kernel" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-smp-tkse" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-t-license-tkse" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-takao-abe" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-takuya-ooura" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-taligent-jdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tanuki-community-sla-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tanuki-community-sla-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tanuki-community-sla-1.2" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tanuki-community-sla-1.3" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tanuki-development" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tanuki-maintenance" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tapr-ohl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tatu-ylonen" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tcg-spec-license-v1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tcg-spec-license-v2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tcl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tcp-wrappers" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-teamdev-services" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tekhvc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-teleport-ce-2024" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-telerik-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tenable-nessus" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tencent-hunyuan-3d-2.0-cla" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-term-readkey" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tested-software" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tex-live" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tfl" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tgc-spec-license-v2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tgppl-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-the-stack-tos-2023-07" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-things-i-made-public-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-thirdeye" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-thomas-bandt" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-thor-pl" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-threeparttable" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ti-broadband-apps" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ti-linux-firmware" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ti-restricted" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tidy" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tiger-crypto" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tigra-calendar-3.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tigra-calendar-4.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tim-janik-2003" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-timestamp-picker" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tizen-sdk" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tmate" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tongyi-qianwen-2023" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-toppers-educational" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-toppers-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-torque-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tosl" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tpdl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tpl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-tpl-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-trademark-notice" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-trainy-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-trca-odl-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-treeview-developer" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-treeview-distributor" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-treeware-option-1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-treeware-option-2" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tremaru" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-trendmicro-cl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-triptracker" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-truecrypt-3.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-trustedqsl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-trustonic-proprietary-2013" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tsl-2018" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tsl-2020" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tso-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ttcl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ttf2pt1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ttwl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ttyp0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tu-berlin" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tu-berlin-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-tumbolia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-twisted-snmp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-txl-10.5" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ubc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ubuntu-font-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ucar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ucl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ugui" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ulem" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-umich-merit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-un-cefact-2016" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unbuntu-font-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-data-software" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-dfs-2015" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-dfs-2016" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-icu-58" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-mappings" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-tou" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-ucd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unicode-v3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unixcrypt" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unknown" + categories: + - "unknown" +- id: "LicenseRef-scancode-unknown-license-reference" + categories: + - "unknown" +- id: "LicenseRef-scancode-unknown-spdx" + categories: + - "unknown" +- id: "LicenseRef-scancode-unlicense" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unlicense-libtelnet" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unlicense-libwhirlpool" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unpbook" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unpublished-source" + categories: + - "generic" +- id: "LicenseRef-scancode-unrar" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unrar-v3" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unsplash" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-unstated" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-uofu-rfpl" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-uoi-ncsa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-upl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-urt-rle" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-us-govt-geotranform" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-us-govt-public-domain" + categories: + - "generic" +- id: "LicenseRef-scancode-us-govt-unlimited-rights" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-usrobotics-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-utah-csl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-utopia" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vaadin-cvdl-4.0" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vanderbilt-sla-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vbaccelerator" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vcalendar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-verbatim-manual" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-verisign" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vhfpl-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vic-metcalfe-pd" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vicomsoft-software" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vim" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vince" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-visual-idiot" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-visual-numerics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vita-nuova-liberal" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vitesse-prop" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vixie-cron" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vnc-viewer-ios" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-volatility-vsl-v1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-volla-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vostrom" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vpl-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vpl-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-vs10x-code-map" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vsl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vuforia-2013-07-29" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-vvvvvv-scl-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-03-bsd-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-community-cla" + categories: + - "cla" +- id: "LicenseRef-scancode-w3c-community-final-spec" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-docs-19990405" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-docs-20021231" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-documentation" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-software-19980720" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-software-20021231" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-software-2023" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-software-doc-20150513" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3c-test-suite" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-w3m" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wadalab" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-warranty-disclaimer" + categories: + - "generic" +- id: "LicenseRef-scancode-waterfall-feed-parser" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-westhawk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-whistle" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-whitecat" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-whosonfirst-license" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wide-license" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-widget-workshop" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wifi-alliance" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-william-alexander" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wince-50-shared-source" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-windriver-commercial" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wingo" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-winidea-sdk-2025" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wink" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-winzip-eula" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-winzip-self-extractor" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wol" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-woodruff-2002" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wordnet" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wrox" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wrox-download" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ws-addressing-spec" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ws-policy-specification" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ws-trust-specification" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wsuipa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wtfnmfpl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wtfpl-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wtfpl-2.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wthpl-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wwl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wxwidgets" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-wxwindows" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-wxwindows-free-doc-3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-wxwindows-r-3.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-wxwindows-u-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-acer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-adobe" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-adobe-dec" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-bitstream" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-dec1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-dec2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-doc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-dsc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-fsf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-hanson" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-ibm" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-x11-keith-packard" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-lucent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-lucent-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-oar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-opengl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-opengroup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-quarterdeck" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-r75" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-realmode" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-sg" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-stanford" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-swapped" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-tektronix" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-tiff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-x11r5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-xconsortium" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11-xconsortium-veillard" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-x11r5-authors" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xceed-community-2021" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xdebug-1.03" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xfree86-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xfree86-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xilinx-2016" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xinetd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xiph-patent" + categories: + - "patent-license" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xkeyboard-config-zinoviev" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xming" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xmldb-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xmos-commercial-2017" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xmos-public-1" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xnet" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xskat" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xxd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-xzoom" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yahoo-browserplus-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yahoo-messenger-eula" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yale-cas" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yensdesign" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yolo-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-yolo-2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ypl-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-ypl-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-zapatec-calendar" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zed" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zeebe-community-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zeebe-community-1.1" + categories: + - "source-available" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zeeff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zend-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zendesk-appdev-api-2022" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zeusbench" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zhorn-stickies" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zimbra-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-zimbra-1.4" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "LicenseRef-scancode-zipeg" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-dup-addendum" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-duplication-addendum" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-end-user-enterprise" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-end-user-workstation" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-enterprise" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-ziplist5-geocode-workstation" + categories: + - "commercial" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zlib-acknowledgement" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zpl-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zpl-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zpl-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zpl-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zsh" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zugferd-datenformat-2.2.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zuora-software" + categories: + - "permissive" + - "include-in-notice-file" +- id: "LicenseRef-scancode-zveno-research" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Linux-OpenIB" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Linux-man-pages-1-para" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Linux-man-pages-copyleft" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Linux-man-pages-copyleft-2-para" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Linux-man-pages-copyleft-var" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Lucida-Bitmap-Fonts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIPS" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-CMU" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-Click" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-Festival" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-Khronos-old" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-Modern-Variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-Wu" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-advertising" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-enna" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-feh" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-open-group" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MIT-testregex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MITNFA" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MMIXware" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MPEG-SSG" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MPL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MPL-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MPL-2.0-no-copyleft-exception" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MS-LPL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MS-PL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MS-RL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MTLL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Mackerras-3-Clause" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Mackerras-3-Clause-acknowledgment" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MakeIndex" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Martin-Birgmeier" + categories: + - "permissive" + - "include-in-notice-file" +- id: "McPhee-slideshow" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Minpack" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MirOS" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Motosoto" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "MulanPSL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "MulanPSL-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Multics" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Mup" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NAIST-2003" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NASA-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NBPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NCBI-PD" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "NCGL-UK-2.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "NCL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NCSA" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NGPL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NICTA-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NIST-PD" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "NIST-PD-fallback" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NIST-Software" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NLOD-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NLOD-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NLPL" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "NOSL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NPL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NPOSL-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "NRL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NTIA-PD" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "NTP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NTP-0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Naumen" + categories: + - "permissive" + - "include-in-notice-file" +- id: "NetCDF" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Newsletr" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Nokia" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Noweb" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "O-UDA-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OAR" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OCCT-PL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OCLC-2.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "ODC-By-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ODbL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OFFIS" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OFL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OFL-1.0-RFN" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OFL-1.0-no-RFN" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OFL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OFL-1.1-RFN" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OFL-1.1-no-RFN" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGC-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGDL-Taiwan-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGL-Canada-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGL-UK-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGL-UK-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGL-UK-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OGTSL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OLDAP-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OLDAP-1.2" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OLDAP-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OLDAP-1.4" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OLDAP-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.0.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.2.2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.6" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.7" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLDAP-2.8" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OLFL-1.3" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OML" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OPL-UK-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OPUBL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OSET-PL-2.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OSL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OSL-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OSL-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OSL-2.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OSL-3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OpenPBS-2.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "OpenSSL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OpenSSL-standalone" + categories: + - "permissive" + - "include-in-notice-file" +- id: "OpenVision" + categories: + - "permissive" + - "include-in-notice-file" +- id: "PADL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "PDDL-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "PHP-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "PHP-3.01" + categories: + - "permissive" + - "include-in-notice-file" +- id: "PPL" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "PSF-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Parity-6.0.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Parity-7.0.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Pixar" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Plexus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "PolyForm-Noncommercial-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "PolyForm-Small-Business-1.0.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "PostgreSQL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Python-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Python-2.0.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "QPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "QPL-1.0-INRIA-2004" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Qhull" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "RHeCos-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "RPL-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "RPL-1.5" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "RPSL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "RSA-MD" + categories: + - "permissive" + - "include-in-notice-file" +- id: "RSCPL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Rdisc" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Ruby" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Ruby-pty" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SAX-PD" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "SAX-PD-2.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "SCEA" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SGI-B-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "SGI-B-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SGI-B-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SGI-OpenGL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SGP4" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SHL-0.5" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SHL-0.51" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SISSL" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "SISSL-1.2" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "SL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SMAIL-GPL" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "SMLNJ" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SMPPL" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "SNIA" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "SOFA" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "SPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "SSH-OpenSSH" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SSH-short" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SSLeay-standalone" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SSPL-1.0" + categories: + - "source-available" + - "include-in-notice-file" +- id: "SUL-1.0" + categories: + - "free-restricted" + - "include-in-notice-file" +- id: "SWL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Saxpath" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SchemeReport" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Sendmail" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Sendmail-8.23" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Sendmail-Open-Source-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SimPL-2.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Sleepycat" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Soundex" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Spencer-86" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Spencer-94" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Spencer-99" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SugarCRM-1.1.3" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Sun-PPP" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Sun-PPP-2000" + categories: + - "permissive" + - "include-in-notice-file" +- id: "SunPro" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Symlinks" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "TAPR-OHL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TCL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TCP-wrappers" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TGPPL-1.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TMate" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TORQUE-1.1" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TOSL" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TPDL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "TTWL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TTYP0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TU-Berlin-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TU-Berlin-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TermReadKey" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ThirdEye" + categories: + - "permissive" + - "include-in-notice-file" +- id: "TrustedQSL" + categories: + - "permissive" + - "include-in-notice-file" +- id: "UCAR" + categories: + - "permissive" + - "include-in-notice-file" +- id: "UCL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "UMich-Merit" + categories: + - "permissive" + - "include-in-notice-file" +- id: "UPL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "URT-RLE" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Ubuntu-font-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Unicode-3.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Unicode-DFS-2015" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Unicode-DFS-2016" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Unicode-TOU" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "UnixCrypt" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Unlicense" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "Unlicense-libtelnet" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "Unlicense-libwhirlpool" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "VOSTROM" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "VSL-1.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Vim" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "W3C" + categories: + - "permissive" + - "include-in-notice-file" +- id: "W3C-19980720" + categories: + - "permissive" + - "include-in-notice-file" +- id: "W3C-20150513" + categories: + - "permissive" + - "include-in-notice-file" +- id: "WTFPL" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "Watcom-1.0" + categories: + - "proprietary-free" + - "include-in-notice-file" +- id: "Widget-Workshop" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Wsuipa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "X11" + categories: + - "permissive" + - "include-in-notice-file" +- id: "X11-distribute-modifications-variant" + categories: + - "permissive" + - "include-in-notice-file" +- id: "X11-swapped" + categories: + - "permissive" + - "include-in-notice-file" +- id: "XFree86-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "XSkat" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Xdebug-1.03" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Xerox" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Xfig" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Xnet" + categories: + - "permissive" + - "include-in-notice-file" +- id: "YPL-1.0" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "YPL-1.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "ZPL-1.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ZPL-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ZPL-2.1" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Zed" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Zeeff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Zend-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "Zimbra-1.3" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Zimbra-1.4" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "Zlib" + categories: + - "permissive" + - "include-in-notice-file" +- id: "any-OSI" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "any-OSI-perl-modules" + categories: + - "unstated-license" + - "include-in-notice-file" +- id: "bcrypt-Solar-Designer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "blessing" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "bzip2-1.0.6" + categories: + - "permissive" + - "include-in-notice-file" +- id: "check-cvs" + categories: + - "permissive" + - "include-in-notice-file" +- id: "checkmk" + categories: + - "permissive" + - "include-in-notice-file" +- id: "copyleft-next-0.3.0" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "copyleft-next-0.3.1" + categories: + - "copyleft" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "curl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "cve-tou" + categories: + - "permissive" + - "include-in-notice-file" +- id: "diffmark" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "dtoa" + categories: + - "permissive" + - "include-in-notice-file" +- id: "dvipdfm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "eGenix" + categories: + - "permissive" + - "include-in-notice-file" +- id: "etalab-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "fwlw" + categories: + - "permissive" + - "include-in-notice-file" +- id: "gSOAP-1.3b" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "generic-xts" + categories: + - "permissive" + - "include-in-notice-file" +- id: "gnuplot" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "gtkbook" + categories: + - "permissive" + - "include-in-notice-file" +- id: "hdparm" + categories: + - "permissive" + - "include-in-notice-file" +- id: "iMatix" + categories: + - "permissive" + - "include-in-notice-file" +- id: "jove" + categories: + - "permissive" + - "include-in-notice-file" +- id: "libpng-1.6.35" + categories: + - "permissive" + - "include-in-notice-file" +- id: "libpng-2.0" + categories: + - "permissive" + - "include-in-notice-file" +- id: "libselinux-1.0" + categories: + - "public-domain" + - "include-in-notice-file" +- id: "libtiff" + categories: + - "permissive" + - "include-in-notice-file" +- id: "libutil-David-Nugent" + categories: + - "permissive" + - "include-in-notice-file" +- id: "lsof" + categories: + - "permissive" + - "include-in-notice-file" +- id: "magaz" + categories: + - "permissive" + - "include-in-notice-file" +- id: "mailprio" + categories: + - "permissive" + - "include-in-notice-file" +- id: "man2html" + categories: + - "permissive" + - "include-in-notice-file" +- id: "metamail" + categories: + - "permissive" + - "include-in-notice-file" +- id: "mpi-permissive" + categories: + - "permissive" + - "include-in-notice-file" +- id: "mpich2" + categories: + - "permissive" + - "include-in-notice-file" +- id: "mplus" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ngrep" + categories: + - "permissive" + - "include-in-notice-file" +- id: "pkgconf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "pnmstitch" + categories: + - "permissive" + - "include-in-notice-file" +- id: "psfrag" + categories: + - "permissive" + - "include-in-notice-file" +- id: "psutils" + categories: + - "permissive" + - "include-in-notice-file" +- id: "python-ldap" + categories: + - "permissive" + - "include-in-notice-file" +- id: "radvd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "snprintf" + categories: + - "permissive" + - "include-in-notice-file" +- id: "softSurfer" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ssh-keyscan" + categories: + - "permissive" + - "include-in-notice-file" +- id: "swrule" + categories: + - "permissive" + - "include-in-notice-file" +- id: "threeparttable" + categories: + - "permissive" + - "include-in-notice-file" +- id: "ulem" + categories: + - "permissive" + - "include-in-notice-file" +- id: "w3m" + categories: + - "permissive" + - "include-in-notice-file" +- id: "wwl" + categories: + - "permissive" + - "include-in-notice-file" +- id: "wxWindows" + categories: + - "copyleft-limited" + - "include-in-notice-file" + - "include-source-code-offer-in-notice-file" +- id: "xinetd" + categories: + - "permissive" + - "include-in-notice-file" +- id: "xkeyboard-config-Zinoviev" + categories: + - "permissive" + - "include-in-notice-file" +- id: "xlock" + categories: + - "permissive" + - "include-in-notice-file" +- id: "xpp" + categories: + - "permissive" + - "include-in-notice-file" +- id: "xzoom" + categories: + - "permissive" + - "include-in-notice-file" +- id: "zlib-acknowledgement" + categories: + - "permissive" + - "include-in-notice-file" diff --git a/.github/config/ort/resolutions.yml b/.github/config/ort/resolutions.yml new file mode 100644 index 00000000..a776c878 --- /dev/null +++ b/.github/config/ort/resolutions.yml @@ -0,0 +1,16 @@ +--- +# This file contains global resolutions for issues and rule violations occurring in the OSS scan. +# These resolutions are applied to all scanned projects, so make sure to only +# add resolutions that are not specific to a project. Project specific +# resolutions can be configured in the .ort.yml file of the project. +# +# For detailed documentation on this file, see +# https://github.com/oss-review-toolkit/ort/blob/main/docs/config-file-resolutions-yml.md. + +issues: + - message: ".*DownloadException: Download failed for 'Maven:android..*" + reason: "CANT_FIX_ISSUE" + comment: "Android SDK Maven artifacts commonly neither declare an SCM tag nor have sources artifacts published." + - message: ".*DownloadException: No source artifact URL provided for 'Maven:com.android..*" + reason: "CANT_FIX_ISSUE" + comment: "Android SDK Maven artifacts commonly neither declare an SCM tag nor have sources artifacts published." diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 6f06b5f4..cfe61082 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -33,11 +33,27 @@ on: required: false default: true type: boolean - description: True to skip license fix - license-config-path: + description: True to skip license header fix + license-header-config-path: required: false default: ".github/config/.licenserc.yaml" type: string + description: Path to the license-eye header configuration file. + license-config-path: + required: false + default: ".github/config/.ort.yaml" + type: string + description: Path to the ORT repository configuration file in the scanned repository. + ort-config-repository: + required: false + default: "" + type: string + description: ORT global configuration repository URL containing policy rules. If empty, uses zaphiro-technologies/github-workflows. + ort-config-revision: + required: false + default: "main" + type: string + description: Git revision / branch for the ORT global configuration repository. repositories: required: false type: string @@ -67,9 +83,8 @@ jobs: if: ${{ ! inputs.skip-fix || inputs.skip-fix == '' }} uses: apache/skywalking-eyes/header@v0.8.0 with: - config: ${{ inputs.license-config-path || '.github/config/.licenserc.yaml' }} + config: ${{ inputs.license-header-config-path || '.github/config/.licenserc.yaml' }} mode: fix - # log: debug # optional: set the log level. The default value is `info`. - name: Apply Changes if: ${{ ! inputs.skip-fix || inputs.skip-fix == '' }} uses: stefanzweifel/git-auto-commit-action@v7 @@ -78,52 +93,12 @@ jobs: commit_user_email: bot@zaphiro.ch commit_message: "Automatic application of license header" - run: git config --global "url.https://x-access-token:${{ steps.generate-token.outputs.token }}@github.com/.insteadOf" "https://github.com/" - # golang license check set-up - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('go.mod') != '' }} - name: Set up Go (Go project) - uses: actions/setup-go@v6 - with: - go-version-file: go.mod - # javascript license check set-up - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('package.json') != '' }} - name: Set up Go (non-Go project) - uses: actions/setup-go@v6 + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Check Dependencies' License (ORT) + uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: - go-version: ">=1.20.0" - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('package.json') != '' }} - name: Prepare Node dependency metadata (npm/yarn) - shell: bash - run: | - if [[ -f yarn.lock && ! -f package-lock.json && ! -f npm-shrinkwrap.json ]]; then - echo "Yarn project detected without npm lockfile; creating temporary npm metadata for license resolution" - cp package.json package.json.license-eye.bak - node -e 'const fs=require("fs");const pkgPath="package.json";const pkg=JSON.parse(fs.readFileSync(pkgPath,"utf8"));const sections=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(const section of sections){if(!pkg[section])continue;for(const [name,spec] of Object.entries(pkg[section])){if(typeof spec!=="string"||!spec.startsWith("npm:"))continue;const target=spec.slice(4);if(!target.startsWith("@")&&!target.includes("@")){pkg[section][name]=`npm:${name}@${target}`;}}}fs.writeFileSync(pkgPath,JSON.stringify(pkg,null,2)+"\\n");' - npm install --package-lock-only --ignore-scripts --no-audit --no-fund --legacy-peer-deps - else - echo "npm lockfile already present or Yarn lock not detected; no preprocessing needed" - fi - # golang & javascript license check - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('package.json') != '' || hashFiles('go.mod') != '') }} - name: Check Go/Javascript Dependencies' License - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - go install github.com/apache/skywalking-eyes/cmd/license-eye@v0.8.0 - license-eye -c ${{ inputs.license-config-path || '.github/config/.licenserc.yaml' }} dep check - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && hashFiles('package.json.license-eye.bak') != '' }} - name: Restore original package.json - shell: bash - run: mv package.json.license-eye.bak package.json - # NOTE: we are not using the action - # apache/skywalking-eyes/dependency@v0.6.0 - # since it uses a old version of golang. - # The file `.github/config/.licenserc.yaml` is required, or it will fail. - # python license check set-up - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') &&(hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Check Python dependencies' License - run: | - pip install poetry - pip install poetry-plugin-export - poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt - pip install licensecheck - licensecheck --only-licenses mit apache bsd psf-2.0 mpl lgpl --show-only-failing --zero --requirements-paths /tmp/reqs.txt + fail-on: violations + ort-yml-path: ${{ inputs.license-config-path || '.github/config/.ort.yaml' }} + ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} + ort-config-path: .github/config/ort + ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..8a5ad04c --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "noop", + "type": "shell", + "command": "true" + }, + { + "label": "cleanup temp", + "type": "shell", + "command": "echo" + } + ] +} \ No newline at end of file From 0c8b8927429472627be2ff80c9339d990fb519d1 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:05:36 +0200 Subject: [PATCH 06/63] Update license.yaml --- .github/workflows/license.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index cfe61082..c4fdf98e 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -102,3 +102,4 @@ jobs: ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-path: .github/config/ort ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} + From 7a3c5472cddf3c09f3faf40a2836bd9fed84f013 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:06:20 +0200 Subject: [PATCH 07/63] Update license.yaml --- .github/workflows/license.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index c4fdf98e..7d0a1b73 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -63,7 +63,7 @@ jobs: license: name: Check licenses runs-on: ubuntu-latest - if: ${{ github.event.pull_request.draft == false }} + #if: ${{ github.event.pull_request.draft == false }} env: GOPRIVATE: github.com/zaphiro-technologies/* steps: @@ -102,4 +102,3 @@ jobs: ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-path: .github/config/ort ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} - From 8c8c6f823ba1bd49f803c917f894a23dbba98c6c Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:08:05 +0200 Subject: [PATCH 08/63] Update .licenserc.yaml --- .github/config/.licenserc.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/config/.licenserc.yaml b/.github/config/.licenserc.yaml index 04caa54b..3ccd9dc6 100644 --- a/.github/config/.licenserc.yaml +++ b/.github/config/.licenserc.yaml @@ -3,7 +3,7 @@ header: license: spdx-id: Apache-2.0 - copyright-year: 2024 + copyright-year: 2026 copyright-owner: Zaphiro Technologies paths-ignore: @@ -12,5 +12,7 @@ header: - "LICENSE" - "NOTICE" - ".*" + - ".vscode/**" + - "vendor/**" comment: on-failure From 012bf51394eccb1d216942ef1b157d82e9fd2c47 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:09:25 +0200 Subject: [PATCH 09/63] Update license.yaml --- .github/workflows/license.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 7d0a1b73..982b59e9 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -74,6 +74,7 @@ jobs: private-key: ${{ secrets.APP_SECRET }} repositories: ${{ github.event.repository.name }}${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} permission-contents: write + permission-workflows: write - uses: actions/checkout@v6 with: token: ${{ steps.generate-token.outputs.token }} From 2957cd2afd7b247473590ac32c0630107d4774cb Mon Sep 17 00:00:00 2001 From: chicco785 <777218+chicco785@users.noreply.github.com> Date: Fri, 10 Apr 2026 20:10:14 +0000 Subject: [PATCH 10/63] Automatic application of license header --- .github/dependabot.yml | 14 ++++++++++++++ .github/workflows/add-to-project.yaml | 14 ++++++++++++++ .github/workflows/approve-and-merge.yaml | 14 ++++++++++++++ .github/workflows/check-pr.yaml | 14 ++++++++++++++ .github/workflows/clean-up-docker.yaml | 14 ++++++++++++++ .github/workflows/clean-up-storage.yaml | 14 ++++++++++++++ .github/workflows/deployment.yaml | 14 ++++++++++++++ .github/workflows/docker.yaml | 14 ++++++++++++++ .github/workflows/golang.yaml | 14 ++++++++++++++ .github/workflows/license.yaml | 14 ++++++++++++++ .github/workflows/manage-issues.yaml | 14 ++++++++++++++ .github/workflows/markdown.yaml | 14 ++++++++++++++ .github/workflows/new-release.yaml | 14 ++++++++++++++ .github/workflows/python.yaml | 14 ++++++++++++++ .github/workflows/release-notes.yaml | 14 ++++++++++++++ .github/workflows/test-upload.yaml | 14 ++++++++++++++ .github/workflows/trivy-cache-update.yaml | 14 ++++++++++++++ 17 files changed, 238 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index cca491ce..9f15a1b9 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/add-to-project.yaml b/.github/workflows/add-to-project.yaml index 4fd2b28a..da1551b3 100644 --- a/.github/workflows/add-to-project.yaml +++ b/.github/workflows/add-to-project.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/approve-and-merge.yaml b/.github/workflows/approve-and-merge.yaml index 4a68caac..79b1518e 100644 --- a/.github/workflows/approve-and-merge.yaml +++ b/.github/workflows/approve-and-merge.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/check-pr.yaml b/.github/workflows/check-pr.yaml index 55c5a2d7..658d527f 100644 --- a/.github/workflows/check-pr.yaml +++ b/.github/workflows/check-pr.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/clean-up-docker.yaml b/.github/workflows/clean-up-docker.yaml index e8a5116d..0b0e544b 100644 --- a/.github/workflows/clean-up-docker.yaml +++ b/.github/workflows/clean-up-docker.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/clean-up-storage.yaml b/.github/workflows/clean-up-storage.yaml index e18fa336..ffc7bc5b 100644 --- a/.github/workflows/clean-up-storage.yaml +++ b/.github/workflows/clean-up-storage.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 5e832a50..5a1434ff 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 45070fb8..03bea130 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/golang.yaml b/.github/workflows/golang.yaml index 872445a4..3593989e 100644 --- a/.github/workflows/golang.yaml +++ b/.github/workflows/golang.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 982b59e9..a8d1b6e5 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/manage-issues.yaml b/.github/workflows/manage-issues.yaml index 2f4962d0..4e414e84 100644 --- a/.github/workflows/manage-issues.yaml +++ b/.github/workflows/manage-issues.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/markdown.yaml b/.github/workflows/markdown.yaml index 078ed3a9..a89307f7 100644 --- a/.github/workflows/markdown.yaml +++ b/.github/workflows/markdown.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/new-release.yaml b/.github/workflows/new-release.yaml index cce7efb4..efc71327 100644 --- a/.github/workflows/new-release.yaml +++ b/.github/workflows/new-release.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index c105a78c..3d532b87 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/release-notes.yaml b/.github/workflows/release-notes.yaml index aca25888..c1ee146d 100644 --- a/.github/workflows/release-notes.yaml +++ b/.github/workflows/release-notes.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/test-upload.yaml b/.github/workflows/test-upload.yaml index 4ad786bf..647debe7 100644 --- a/.github/workflows/test-upload.yaml +++ b/.github/workflows/test-upload.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.github/workflows/trivy-cache-update.yaml b/.github/workflows/trivy-cache-update.yaml index cd524a57..f893e1b2 100644 --- a/.github/workflows/trivy-cache-update.yaml +++ b/.github/workflows/trivy-cache-update.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Copyright 2024 Zaphiro Technologies # # Licensed under the Apache License, Version 2.0 (the "License"); From 7f43a07014d88c811b086d8131c506c341e8d81d Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:13:23 +0200 Subject: [PATCH 11/63] fix header --- .github/workflows/add-to-project.yaml | 14 -------------- .github/workflows/approve-and-merge.yaml | 14 -------------- .github/workflows/check-pr.yaml | 14 -------------- .github/workflows/clean-up-docker.yaml | 14 -------------- .github/workflows/clean-up-storage.yaml | 14 -------------- .github/workflows/deployment.yaml | 14 -------------- .github/workflows/docker.yaml | 14 -------------- .github/workflows/golang.yaml | 14 -------------- .github/workflows/license.yaml | 14 -------------- .github/workflows/manage-issues.yaml | 14 -------------- .github/workflows/markdown.yaml | 14 -------------- .github/workflows/new-release.yaml | 14 -------------- .github/workflows/python.yaml | 14 -------------- .github/workflows/release-notes.yaml | 14 -------------- .github/workflows/test-upload.yaml | 14 -------------- .github/workflows/trivy-cache-update.yaml | 14 -------------- 16 files changed, 224 deletions(-) diff --git a/.github/workflows/add-to-project.yaml b/.github/workflows/add-to-project.yaml index da1551b3..96558a01 100644 --- a/.github/workflows/add-to-project.yaml +++ b/.github/workflows/add-to-project.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Project Management on: issues: diff --git a/.github/workflows/approve-and-merge.yaml b/.github/workflows/approve-and-merge.yaml index 79b1518e..545a58f3 100644 --- a/.github/workflows/approve-and-merge.yaml +++ b/.github/workflows/approve-and-merge.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Auto-approve & auto-merge Dependabot PRs on: diff --git a/.github/workflows/check-pr.yaml b/.github/workflows/check-pr.yaml index 658d527f..08d3aa43 100644 --- a/.github/workflows/check-pr.yaml +++ b/.github/workflows/check-pr.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Validate PR concurrency: diff --git a/.github/workflows/clean-up-docker.yaml b/.github/workflows/clean-up-docker.yaml index 0b0e544b..336f7460 100644 --- a/.github/workflows/clean-up-docker.yaml +++ b/.github/workflows/clean-up-docker.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Clean up Docker Images on PR closure on: diff --git a/.github/workflows/clean-up-storage.yaml b/.github/workflows/clean-up-storage.yaml index ffc7bc5b..26f3c985 100644 --- a/.github/workflows/clean-up-storage.yaml +++ b/.github/workflows/clean-up-storage.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: clean up storage by a branch on: pull_request: diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 5a1434ff..40175e21 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Container Deployment concurrency: diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 03bea130..afc9a8a2 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Docker Build concurrency: diff --git a/.github/workflows/golang.yaml b/.github/workflows/golang.yaml index 3593989e..f1248593 100644 --- a/.github/workflows/golang.yaml +++ b/.github/workflows/golang.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Golang Lint & Test concurrency: diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index a8d1b6e5..84498eed 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: License Management concurrency: diff --git a/.github/workflows/manage-issues.yaml b/.github/workflows/manage-issues.yaml index 4e414e84..3e841bdb 100644 --- a/.github/workflows/manage-issues.yaml +++ b/.github/workflows/manage-issues.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Manage Issues and PRs on: schedule: diff --git a/.github/workflows/markdown.yaml b/.github/workflows/markdown.yaml index a89307f7..cdd82b0a 100644 --- a/.github/workflows/markdown.yaml +++ b/.github/workflows/markdown.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Base Lint concurrency: diff --git a/.github/workflows/new-release.yaml b/.github/workflows/new-release.yaml index efc71327..01924ad4 100644 --- a/.github/workflows/new-release.yaml +++ b/.github/workflows/new-release.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Publish new release concurrency: diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 3d532b87..8e23606a 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Python Lint & Test concurrency: diff --git a/.github/workflows/release-notes.yaml b/.github/workflows/release-notes.yaml index c1ee146d..e2a4dc61 100644 --- a/.github/workflows/release-notes.yaml +++ b/.github/workflows/release-notes.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Release on: diff --git a/.github/workflows/test-upload.yaml b/.github/workflows/test-upload.yaml index 647debe7..77741aa0 100644 --- a/.github/workflows/test-upload.yaml +++ b/.github/workflows/test-upload.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Test artifact concurrency: diff --git a/.github/workflows/trivy-cache-update.yaml b/.github/workflows/trivy-cache-update.yaml index f893e1b2..b73a807d 100644 --- a/.github/workflows/trivy-cache-update.yaml +++ b/.github/workflows/trivy-cache-update.yaml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Update Trivy Cache on: From 6162fd288f0a6cfd142db1f42da91ed265cbabae Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:14:27 +0200 Subject: [PATCH 12/63] Update dependabot.yml --- .github/dependabot.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9f15a1b9..3c015830 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -12,20 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Copyright 2024 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: From 3ab6fbcd578c0653abb75897e7f8cbea7313a495 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:21:58 +0200 Subject: [PATCH 13/63] up --- .github/config/.licenserc.yaml | 3 +++ .github/workflows/license.yaml | 5 ++--- .../config/ort/evaluator.rules.kts => evaluator.rules.kts | 3 ++- ...icense-classifications.yml => license-classifications.yml | 0 .github/config/ort/resolutions.yml => resolutions.yml | 0 5 files changed, 7 insertions(+), 4 deletions(-) rename .github/config/ort/evaluator.rules.kts => evaluator.rules.kts (99%) rename .github/config/ort/license-classifications.yml => license-classifications.yml (100%) rename .github/config/ort/resolutions.yml => resolutions.yml (100%) diff --git a/.github/config/.licenserc.yaml b/.github/config/.licenserc.yaml index 3ccd9dc6..685cc04d 100644 --- a/.github/config/.licenserc.yaml +++ b/.github/config/.licenserc.yaml @@ -14,5 +14,8 @@ header: - ".*" - ".vscode/**" - "vendor/**" + - "evaluator.rules.kts" + - "license-classifications.yml" + - "resolutions.yml" comment: on-failure diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 84498eed..ea830e18 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -72,7 +72,7 @@ jobs: with: app-id: ${{ secrets.APP_ID }} private-key: ${{ secrets.APP_SECRET }} - repositories: ${{ github.event.repository.name }}${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} + repositories: ${{ github.event.repository.name }},github-workflows${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} permission-contents: write permission-workflows: write - uses: actions/checkout@v6 @@ -101,5 +101,4 @@ jobs: fail-on: violations ort-yml-path: ${{ inputs.license-config-path || '.github/config/.ort.yaml' }} ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} - ort-config-path: .github/config/ort - ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} + ort-config-revision: ${{ inputs.ort-config-revision || 'main' }} diff --git a/.github/config/ort/evaluator.rules.kts b/evaluator.rules.kts similarity index 99% rename from .github/config/ort/evaluator.rules.kts rename to evaluator.rules.kts index 840e2c7f..be2b95b0 100644 --- a/.github/config/ort/evaluator.rules.kts +++ b/evaluator.rules.kts @@ -26,7 +26,8 @@ /** * Variables defining the organization using ORT. */ -val orgName = "Example Inc." + +val orgName = "Zaphiro Technologies" val orgScanIssueTrackerName = "FOSS JIRA" val orgScanIssueTrackerMdLink = "[$orgScanIssueTrackerName](https://jira.example.com/FOSS)" diff --git a/.github/config/ort/license-classifications.yml b/license-classifications.yml similarity index 100% rename from .github/config/ort/license-classifications.yml rename to license-classifications.yml diff --git a/.github/config/ort/resolutions.yml b/resolutions.yml similarity index 100% rename from .github/config/ort/resolutions.yml rename to resolutions.yml From 711a2a14a4fa3d8c385fe1a96759971293f4521b Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:29:02 +0200 Subject: [PATCH 14/63] import configuration --- .github/workflows/license.yaml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index ea830e18..58864770 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -51,7 +51,7 @@ on: description: ORT global configuration repository URL containing policy rules. If empty, uses zaphiro-technologies/github-workflows. ort-config-revision: required: false - default: "main" + default: "license-workflow-fix-js-support" type: string description: Git revision / branch for the ORT global configuration repository. repositories: @@ -94,6 +94,27 @@ jobs: commit_user_email: bot@zaphiro.ch commit_message: "Automatic application of license header" - run: git config --global "url.https://x-access-token:${{ steps.generate-token.outputs.token }}@github.com/.insteadOf" "https://github.com/" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Ensure ORT repository configuration file exists + shell: bash + run: | + cfg_path="${{ inputs.license-config-path || '.github/config/.ort.yaml' }}" + + if [[ -f "$cfg_path" ]]; then + echo "Using ORT repository configuration from caller repository: $cfg_path" + exit 0 + fi + + echo "ORT repository configuration '$cfg_path' not found in caller repository. Fetching fallback from github-workflows." + mkdir -p "$(dirname "$cfg_path")" + + curl --fail --silent --show-error --location \ + -H "Authorization: Bearer ${{ steps.generate-token.outputs.token }}" \ + -H "Accept: application/vnd.github.raw+json" \ + "https://api.github.com/repos/zaphiro-technologies/github-workflows/contents/$cfg_path?ref=${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }}" \ + --output "$cfg_path" + + echo "Downloaded fallback ORT repository configuration to: $cfg_path" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Check Dependencies' License (ORT) uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 @@ -101,4 +122,4 @@ jobs: fail-on: violations ort-yml-path: ${{ inputs.license-config-path || '.github/config/.ort.yaml' }} ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} - ort-config-revision: ${{ inputs.ort-config-revision || 'main' }} + ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} From 18d0807f3e77eb74951c6f936470117e5b53ae93 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:35:58 +0200 Subject: [PATCH 15/63] Update license.yaml --- .github/workflows/license.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 58864770..e1bf36ab 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -115,11 +115,18 @@ jobs: --output "$cfg_path" echo "Downloaded fallback ORT repository configuration to: $cfg_path" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Prepare ORT repository configuration + shell: bash + run: | + cfg_path="${{ inputs.license-config-path || '.github/config/.ort.yaml' }}" + cp "$cfg_path" .ort.yml + echo "Prepared .ort.yml from: $cfg_path" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Check Dependencies' License (ORT) uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: + run: "cache-dependencies,labels,analyzer,evaluator,reporter,upload-results" fail-on: violations - ort-yml-path: ${{ inputs.license-config-path || '.github/config/.ort.yaml' }} ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} From ec6a7992b04ad6f74b759a19feff37e3d3d4c09c Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:46:23 +0200 Subject: [PATCH 16/63] Update license.yaml --- .github/workflows/license.yaml | 58 +++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index e1bf36ab..2fefb96f 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -54,11 +54,21 @@ on: default: "license-workflow-fix-js-support" type: string description: Git revision / branch for the ORT global configuration repository. + ort-cli-analyze-args: + required: false + default: "-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry" + type: string + description: Extra ORT analyzer arguments. Override to tune enabled package managers. repositories: required: false type: string default: "" description: Comma or newline-separated list of repositories to grant access to during the golang build. + comment-results: + required: false + default: false + type: boolean + description: True to add a PR comment with ORT license results. jobs: license: name: Check licenses @@ -74,6 +84,8 @@ jobs: private-key: ${{ secrets.APP_SECRET }} repositories: ${{ github.event.repository.name }},github-workflows${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} permission-contents: write + permission-issues: write + permission-pull-requests: write permission-workflows: write - uses: actions/checkout@v6 with: @@ -124,9 +136,53 @@ jobs: echo "Prepared .ort.yml from: $cfg_path" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Check Dependencies' License (ORT) + id: ort uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: - run: "cache-dependencies,labels,analyzer,evaluator,reporter,upload-results" + run: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" + ort-cli-analyze-args: ${{ inputs.ort-cli-analyze-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} fail-on: violations ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Summarize ORT license results + shell: bash + run: | + eval_file="${{ steps.ort.outputs.results-evaluator-path }}" + + if [[ -f "$eval_file" ]]; then + violations=$(jq '.ruleViolations | length' "$eval_file") + echo "ORT_RULE_VIOLATIONS=$violations" >> "$GITHUB_ENV" + { + echo "### ORT License Check" + echo "- Rule violations: $violations" + echo "- Evaluator result file: $eval_file" + echo "- Full details: download the workflow artifacts generated by ORT" + } >> "$GITHUB_STEP_SUMMARY" + else + echo "ORT_RULE_VIOLATIONS=unknown" >> "$GITHUB_ENV" + { + echo "### ORT License Check" + echo "- Evaluator result file not found" + echo "- Full details: download the workflow artifacts generated by ORT" + } >> "$GITHUB_STEP_SUMMARY" + fi + - if: ${{ github.event_name == 'pull_request' && inputs.comment-results }} + name: Comment ORT results on PR + uses: actions/github-script@v8 + with: + github-token: ${{ steps.generate-token.outputs.token }} + script: | + const violations = process.env.ORT_RULE_VIOLATIONS || 'unknown'; + const body = [ + '### ORT License Check', + `- Rule violations: ${violations}`, + '- Full results are available in workflow artifacts (ORT results and evaluator-result).' + ].join('\n'); + + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.pull_request.number, + body + }); From 84294a9b4e08545b332e82e0a49dd6db785f0460 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 22:54:17 +0200 Subject: [PATCH 17/63] Update license.yaml --- .github/workflows/license.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 2fefb96f..d5256f66 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -54,11 +54,11 @@ on: default: "license-workflow-fix-js-support" type: string description: Git revision / branch for the ORT global configuration repository. - ort-cli-analyze-args: + ort-cli-args: required: false default: "-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry" type: string - description: Extra ORT analyzer arguments. Override to tune enabled package managers. + description: Extra ORT global CLI arguments. Override to tune enabled package managers. repositories: required: false type: string @@ -140,7 +140,7 @@ jobs: uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: run: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" - ort-cli-analyze-args: ${{ inputs.ort-cli-analyze-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} + ort-cli-args: ${{ inputs.ort-cli-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} fail-on: violations ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} From 7c2d91a5721dbd1e1e3e1ecf12f2927a151d5908 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 23:13:40 +0200 Subject: [PATCH 18/63] up --- .github/workflows/license.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index d5256f66..176dc92f 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -59,6 +59,11 @@ on: default: "-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry" type: string description: Extra ORT global CLI arguments. Override to tune enabled package managers. + ort-image: + required: false + default: "ghcr.io/oss-review-toolkit/ort:83.1.0" + type: string + description: ORT Docker image to use. Override with a custom/slimmer image if available. repositories: required: false type: string @@ -66,7 +71,7 @@ on: description: Comma or newline-separated list of repositories to grant access to during the golang build. comment-results: required: false - default: false + default: true type: boolean description: True to add a PR comment with ORT license results. jobs: @@ -141,6 +146,7 @@ jobs: with: run: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" ort-cli-args: ${{ inputs.ort-cli-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} + image: ${{ inputs.ort-image || 'ghcr.io/oss-review-toolkit/ort:83.1.0' }} fail-on: violations ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} @@ -167,7 +173,7 @@ jobs: echo "- Full details: download the workflow artifacts generated by ORT" } >> "$GITHUB_STEP_SUMMARY" fi - - if: ${{ github.event_name == 'pull_request' && inputs.comment-results }} + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && github.event_name == 'pull_request' && inputs.comment-results }} name: Comment ORT results on PR uses: actions/github-script@v8 with: From 6b03846011da0c0bea5435a5fe0fdc257e8db3a7 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 10 Apr 2026 23:42:04 +0200 Subject: [PATCH 19/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 176dc92f..5913cbd6 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -144,7 +144,7 @@ jobs: id: ort uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: - run: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" + run: "cache-dependencies,labels,analyzer,scanner,evaluator,upload-results,upload-evaluation-result,upload-scan-result" ort-cli-args: ${{ inputs.ort-cli-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} image: ${{ inputs.ort-image || 'ghcr.io/oss-review-toolkit/ort:83.1.0' }} fail-on: violations From 32eb78e56d5c4e4501e0a938a08290e835258873 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:04:55 +0200 Subject: [PATCH 20/63] up --- .github/config/.ort.yaml | 3 --- .github/workflows/license.yaml | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/config/.ort.yaml b/.github/config/.ort.yaml index 5f70b18e..090c9c3d 100644 --- a/.github/config/.ort.yaml +++ b/.github/config/.ort.yaml @@ -20,6 +20,3 @@ excludes: - pattern: "(test.*|.*test.*|funTest.*)" reason: "TEST_DEPENDENCY_OF" comment: "Packages for tests only." - - pattern: "vendor" - reason: "DEV_DEPENDENCY_OF" - comment: "Vendored packages used for build and test only." diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 5913cbd6..1c8e6b80 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -54,6 +54,11 @@ on: default: "license-workflow-fix-js-support" type: string description: Git revision / branch for the ORT global configuration repository. + ort-run: + required: false + default: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" + type: string + description: Comma-separated list of ORT workflow steps to run. Remove 'scanner' for ecosystems where declared licenses are sufficient (e.g. JS/Python). ort-cli-args: required: false default: "-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry" @@ -144,7 +149,7 @@ jobs: id: ort uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: - run: "cache-dependencies,labels,analyzer,scanner,evaluator,upload-results,upload-evaluation-result,upload-scan-result" + run: ${{ inputs.ort-run || 'cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result' }} ort-cli-args: ${{ inputs.ort-cli-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} image: ${{ inputs.ort-image || 'ghcr.io/oss-review-toolkit/ort:83.1.0' }} fail-on: violations From d2d31d591f179e0b735aa2c672e44b3b4cc01fa6 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:09:27 +0200 Subject: [PATCH 21/63] Update license.yaml --- .github/workflows/license.yaml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 1c8e6b80..6db49bf3 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -61,9 +61,9 @@ on: description: Comma-separated list of ORT workflow steps to run. Remove 'scanner' for ecosystems where declared licenses are sufficient (e.g. JS/Python). ort-cli-args: required: false - default: "-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry" + default: "" type: string - description: Extra ORT global CLI arguments. Override to tune enabled package managers. + description: Extra ORT global CLI arguments. If empty, enabled package managers are auto-detected from manifest files (go.mod → GoMod, package.json → Yarn2, requirements.txt/pyproject.toml → Poetry). ort-image: required: false default: "ghcr.io/oss-review-toolkit/ort:83.1.0" @@ -144,13 +144,24 @@ jobs: cfg_path="${{ inputs.license-config-path || '.github/config/.ort.yaml' }}" cp "$cfg_path" .ort.yml echo "Prepared .ort.yml from: $cfg_path" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Detect ORT package managers + id: detect-pm + shell: bash + run: | + managers=() + [[ -f "go.mod" ]] && managers+=("GoMod") + [[ -f "package.json" ]] && managers+=("Yarn2") + [[ -f "requirements.txt" || -f "pyproject.toml" ]] && managers+=("Poetry") + pm_list=$(IFS=','; echo "${managers[*]}") + echo "ort-cli-args=-P ort.analyzer.enabledPackageManagers=${pm_list}" >> "$GITHUB_OUTPUT" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Check Dependencies' License (ORT) id: ort uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 with: run: ${{ inputs.ort-run || 'cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result' }} - ort-cli-args: ${{ inputs.ort-cli-args || '-P ort.analyzer.enabledPackageManagers=GoMod,Yarn2,Poetry' }} + ort-cli-args: ${{ inputs.ort-cli-args || steps.detect-pm.outputs.ort-cli-args }} image: ${{ inputs.ort-image || 'ghcr.io/oss-review-toolkit/ort:83.1.0' }} fail-on: violations ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} From 0d8e1d914d81f2ae06c23bb04488a96a1a53c7e9 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:17:24 +0200 Subject: [PATCH 22/63] Create config.yml --- config.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 config.yml diff --git a/config.yml b/config.yml new file mode 100644 index 00000000..91ac9c64 --- /dev/null +++ b/config.yml @@ -0,0 +1,13 @@ +# ORT global configuration file. +# See: https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/resources/reference.yml + +ort: + packageCurationProviders: + # Load manual curations from curations.yml in this config repo if present. + - type: File + id: DefaultFile + # Load manual curations from curations/ directory in this config repo if present. + - type: Dir + id: DefaultDir + # Spring curation provider is disabled: it fetches Spring OSS metadata which + # is irrelevant for Go / Yarn2 / Poetry projects and adds unnecessary latency. From f1847611d2d37b2fc2c218a3e9dd66e50c57f443 Mon Sep 17 00:00:00 2001 From: chicco785 <777218+chicco785@users.noreply.github.com> Date: Fri, 10 Apr 2026 22:18:12 +0000 Subject: [PATCH 23/63] Automatic application of license header --- config.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config.yml b/config.yml index 91ac9c64..ac00e923 100644 --- a/config.yml +++ b/config.yml @@ -1,3 +1,17 @@ +# Copyright 2026 Zaphiro Technologies +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # ORT global configuration file. # See: https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/resources/reference.yml From 58afc75f8c211b32f4dae66fe994102f9e2e0705 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:38:31 +0200 Subject: [PATCH 24/63] Update license.yaml --- .github/workflows/license.yaml | 201 ++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 92 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 6db49bf3..172bf652 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -43,32 +43,12 @@ on: required: false default: ".github/config/.ort.yaml" type: string - description: Path to the ORT repository configuration file in the scanned repository. - ort-config-repository: + description: Kept for backward compatibility. Ignored by language-specific checks. + allowed-licenses: required: false - default: "" - type: string - description: ORT global configuration repository URL containing policy rules. If empty, uses zaphiro-technologies/github-workflows. - ort-config-revision: - required: false - default: "license-workflow-fix-js-support" - type: string - description: Git revision / branch for the ORT global configuration repository. - ort-run: - required: false - default: "cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result" - type: string - description: Comma-separated list of ORT workflow steps to run. Remove 'scanner' for ecosystems where declared licenses are sufficient (e.g. JS/Python). - ort-cli-args: - required: false - default: "" + default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License" type: string - description: Extra ORT global CLI arguments. If empty, enabled package managers are auto-detected from manifest files (go.mod → GoMod, package.json → Yarn2, requirements.txt/pyproject.toml → Poetry). - ort-image: - required: false - default: "ghcr.io/oss-review-toolkit/ort:83.1.0" - type: string - description: ORT Docker image to use. Override with a custom/slimmer image if available. + description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: required: false type: string @@ -78,7 +58,7 @@ on: required: false default: true type: boolean - description: True to add a PR comment with ORT license results. + description: True to add a PR comment with dependency license check results. jobs: license: name: Check licenses @@ -117,89 +97,121 @@ jobs: commit_message: "Automatic application of license header" - run: git config --global "url.https://x-access-token:${{ steps.generate-token.outputs.token }}@github.com/.insteadOf" "https://github.com/" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Ensure ORT repository configuration file exists + name: Detect dependency ecosystems + id: detect-ecosystems shell: bash run: | - cfg_path="${{ inputs.license-config-path || '.github/config/.ort.yaml' }}" - - if [[ -f "$cfg_path" ]]; then - echo "Using ORT repository configuration from caller repository: $cfg_path" - exit 0 - fi - - echo "ORT repository configuration '$cfg_path' not found in caller repository. Fetching fallback from github-workflows." - mkdir -p "$(dirname "$cfg_path")" - - curl --fail --silent --show-error --location \ - -H "Authorization: Bearer ${{ steps.generate-token.outputs.token }}" \ - -H "Accept: application/vnd.github.raw+json" \ - "https://api.github.com/repos/zaphiro-technologies/github-workflows/contents/$cfg_path?ref=${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }}" \ - --output "$cfg_path" - - echo "Downloaded fallback ORT repository configuration to: $cfg_path" - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Prepare ORT repository configuration + [[ -f "go.mod" ]] && echo "has-go=true" >> "$GITHUB_OUTPUT" || echo "has-go=false" >> "$GITHUB_OUTPUT" + [[ -f "package.json" ]] && echo "has-node=true" >> "$GITHUB_OUTPUT" || echo "has-node=false" >> "$GITHUB_OUTPUT" + [[ -f "requirements.txt" || -f "pyproject.toml" ]] && echo "has-python=true" >> "$GITHUB_OUTPUT" || echo "has-python=false" >> "$GITHUB_OUTPUT" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-go == 'true' }} + name: Go license policy check + id: go-license-check + continue-on-error: true shell: bash run: | - cfg_path="${{ inputs.license-config-path || '.github/config/.ort.yaml' }}" - cp "$cfg_path" .ort.yml - echo "Prepared .ort.yml from: $cfg_path" - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Detect ORT package managers - id: detect-pm + GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" | tr ';' ',')" + mkdir -p "$RUNNER_TEMP/bin" + GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses/v2@latest + "$RUNNER_TEMP/bin/go-licenses" check ./... --allowed_licenses="$GO_ALLOWED_LICENSES" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-node == 'true' }} + name: Setup Node + id: node-setup + continue-on-error: true + uses: actions/setup-node@v4 + with: + node-version: "22" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-node == 'true' }} + name: Node license policy check + id: node-license-check + continue-on-error: true shell: bash run: | - managers=() - [[ -f "go.mod" ]] && managers+=("GoMod") - [[ -f "package.json" ]] && managers+=("Yarn2") - [[ -f "requirements.txt" || -f "pyproject.toml" ]] && managers+=("Poetry") - pm_list=$(IFS=','; echo "${managers[*]}") - echo "ort-cli-args=-P ort.analyzer.enabledPackageManagers=${pm_list}" >> "$GITHUB_OUTPUT" - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Check Dependencies' License (ORT) - id: ort - uses: oss-review-toolkit/ort-ci-github-action@v1.1.0 + if [[ -f "yarn.lock" ]]; then + corepack enable + yarn install --immutable + elif [[ -f "pnpm-lock.yaml" ]]; then + corepack enable + pnpm install --frozen-lockfile + elif [[ -f "package-lock.json" || -f "npm-shrinkwrap.json" ]]; then + npm ci --ignore-scripts + else + npm install --ignore-scripts --no-audit --no-fund + fi + npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-python == 'true' }} + name: Setup Python + id: python-setup + continue-on-error: true + uses: actions/setup-python@v5 with: - run: ${{ inputs.ort-run || 'cache-dependencies,labels,analyzer,evaluator,upload-results,upload-evaluation-result' }} - ort-cli-args: ${{ inputs.ort-cli-args || steps.detect-pm.outputs.ort-cli-args }} - image: ${{ inputs.ort-image || 'ghcr.io/oss-review-toolkit/ort:83.1.0' }} - fail-on: violations - ort-config-repository: ${{ inputs.ort-config-repository || format('https://x-access-token:{0}@github.com/zaphiro-technologies/github-workflows.git', steps.generate-token.outputs.token) }} - ort-config-revision: ${{ inputs.ort-config-revision || 'license-workflow-fix-js-support' }} - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} - name: Summarize ORT license results + python-version: "3.12" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-python == 'true' }} + name: Python license policy check + id: python-license-check + continue-on-error: true shell: bash run: | - eval_file="${{ steps.ort.outputs.results-evaluator-path }}" + python -m venv .license-venv + . .license-venv/bin/activate + python -m pip install --upgrade pip - if [[ -f "$eval_file" ]]; then - violations=$(jq '.ruleViolations | length' "$eval_file") - echo "ORT_RULE_VIOLATIONS=$violations" >> "$GITHUB_ENV" - { - echo "### ORT License Check" - echo "- Rule violations: $violations" - echo "- Evaluator result file: $eval_file" - echo "- Full details: download the workflow artifacts generated by ORT" - } >> "$GITHUB_STEP_SUMMARY" - else - echo "ORT_RULE_VIOLATIONS=unknown" >> "$GITHUB_ENV" - { - echo "### ORT License Check" - echo "- Evaluator result file not found" - echo "- Full details: download the workflow artifacts generated by ORT" - } >> "$GITHUB_STEP_SUMMARY" + if [[ -f "requirements.txt" ]]; then + python -m pip install -r requirements.txt + elif [[ -f "pyproject.toml" && -f "poetry.lock" ]]; then + python -m pip install poetry + poetry export -f requirements.txt --without-hashes -o /tmp/license-requirements.txt + python -m pip install -r /tmp/license-requirements.txt + elif [[ -f "pyproject.toml" ]]; then + echo "No requirements.txt or poetry.lock found. Installing local project metadata dependencies may be incomplete." fi - - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && github.event_name == 'pull_request' && inputs.comment-results }} - name: Comment ORT results on PR + + python -m pip install pip-licenses + pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Summarize dependency license results + id: summarize-license-checks + shell: bash + run: | + go_outcome="${{ steps.go-license-check.outcome || 'skipped' }}" + node_setup_outcome="${{ steps.node-setup.outcome || 'skipped' }}" + node_outcome="${{ steps.node-license-check.outcome || 'skipped' }}" + python_setup_outcome="${{ steps.python-setup.outcome || 'skipped' }}" + python_outcome="${{ steps.python-license-check.outcome || 'skipped' }}" + + failed=false + [[ "$go_outcome" == "failure" ]] && failed=true + [[ "$node_setup_outcome" == "failure" || "$node_outcome" == "failure" ]] && failed=true + [[ "$python_setup_outcome" == "failure" || "$python_outcome" == "failure" ]] && failed=true + + echo "license-check-failed=$failed" >> "$GITHUB_OUTPUT" + + { + echo "### Dependency License Checks" + echo "- Go check: $go_outcome" + echo "- Node setup/check: $node_setup_outcome / $node_outcome" + echo "- Python setup/check: $python_setup_outcome / $python_outcome" + echo "- Overall result: $([[ \"$failed\" == \"true\" ]] && echo failed || echo passed)" + } >> "$GITHUB_STEP_SUMMARY" + - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && github.event_name == 'pull_request' && inputs.comment-results && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Comment license results on PR uses: actions/github-script@v8 with: github-token: ${{ steps.generate-token.outputs.token }} script: | - const violations = process.env.ORT_RULE_VIOLATIONS || 'unknown'; + const goOutcome = '${{ steps.go-license-check.outcome || 'skipped' }}'; + const nodeSetupOutcome = '${{ steps.node-setup.outcome || 'skipped' }}'; + const nodeOutcome = '${{ steps.node-license-check.outcome || 'skipped' }}'; + const pythonSetupOutcome = '${{ steps.python-setup.outcome || 'skipped' }}'; + const pythonOutcome = '${{ steps.python-license-check.outcome || 'skipped' }}'; + const failed = '${{ steps.summarize-license-checks.outputs.license-check-failed || 'false' }}' === 'true'; + const body = [ - '### ORT License Check', - `- Rule violations: ${violations}`, - '- Full results are available in workflow artifacts (ORT results and evaluator-result).' + '### Dependency License Checks', + `- Go check: ${goOutcome}`, + `- Node setup/check: ${nodeSetupOutcome} / ${nodeOutcome}`, + `- Python setup/check: ${pythonSetupOutcome} / ${pythonOutcome}`, + `- Overall result: ${failed ? 'failed' : 'passed'}` ].join('\n'); await github.rest.issues.createComment({ @@ -208,3 +220,8 @@ jobs: issue_number: context.payload.pull_request.number, body }); + - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.summarize-license-checks.outputs.license-check-failed == 'true' && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + name: Fail job on license policy violations + run: | + echo "One or more dependency license checks failed." + exit 1 From 742012c62a717649c53079ccfe43180f2ab54d25 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:39:30 +0200 Subject: [PATCH 25/63] clean --- .github/workflows/license.yaml | 5 - config.yml | 27 - evaluator.rules.kts | 1699 ----- license-classifications.yml | 12681 ------------------------------- resolutions.yml | 16 - 5 files changed, 14428 deletions(-) delete mode 100644 config.yml delete mode 100644 evaluator.rules.kts delete mode 100644 license-classifications.yml delete mode 100644 resolutions.yml diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 172bf652..1a1196e6 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -39,11 +39,6 @@ on: default: ".github/config/.licenserc.yaml" type: string description: Path to the license-eye header configuration file. - license-config-path: - required: false - default: ".github/config/.ort.yaml" - type: string - description: Kept for backward compatibility. Ignored by language-specific checks. allowed-licenses: required: false default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License" diff --git a/config.yml b/config.yml deleted file mode 100644 index ac00e923..00000000 --- a/config.yml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2026 Zaphiro Technologies -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ORT global configuration file. -# See: https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/resources/reference.yml - -ort: - packageCurationProviders: - # Load manual curations from curations.yml in this config repo if present. - - type: File - id: DefaultFile - # Load manual curations from curations/ directory in this config repo if present. - - type: Dir - id: DefaultDir - # Spring curation provider is disabled: it fetches Spring OSS metadata which - # is irrelevant for Go / Yarn2 / Poetry projects and adds unnecessary latency. diff --git a/evaluator.rules.kts b/evaluator.rules.kts deleted file mode 100644 index be2b95b0..00000000 --- a/evaluator.rules.kts +++ /dev/null @@ -1,1699 +0,0 @@ -/* - * Copyright (C) 2019 The ORT Project Authors (see ) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - * License-Filename: LICENSE - */ - -/****************************************************************************** - * DISCLAIMER: This file only illustrates how to write evaluator rules, it is * - * no recommendation in any way. It is recommended to consult * - * your own legal counsel(s) for setting up your evaluator rules. * - ******************************************************************************/ - -/** - * Variables defining the organization using ORT. - */ - -val orgName = "Zaphiro Technologies" -val orgScanIssueTrackerName = "FOSS JIRA" -val orgScanIssueTrackerMdLink = "[$orgScanIssueTrackerName](https://jira.example.com/FOSS)" - -/** - * Import the license classifications from license-classifications.yml. - */ - -fun getLicensesForCategory(category: String): Set = - checkNotNull(licenseClassifications.licensesByCategory[category]) { - "Failed to obtain the license for category '$category', because that category does not exist." - } - -val claLicenses = getLicensesForCategory("cla") -val commercialLicenses = getLicensesForCategory("commercial") -val copyleftLicenses = getLicensesForCategory("copyleft") -val copyleftLimitedLicenses = getLicensesForCategory("copyleft-limited") -val freeRestrictedLicenses = getLicensesForCategory("free-restricted") -val genericLicenses = getLicensesForCategory("generic") -val patentLicenses = getLicensesForCategory("patent-license") -val permissiveLicenses = getLicensesForCategory("permissive") -val proprietaryFreeLicenses = getLicensesForCategory("proprietary-free") -val publicDomainLicenses = getLicensesForCategory("public-domain") -val unknownLicenses = getLicensesForCategory("unknown") -val unstatedLicenses = getLicensesForCategory("unstated-license") - -// Set of licenses, which are not acted upon by the below policy rules. -val ignoredLicenses = listOf( - /** - * 'generic' category: - */ - // Contributor License agreement are not relevant for the "use" of open source. - "LicenseRef-scancode-generic-cla", - // Permissive licenses are not flagged anyway. - "LicenseRef-scancode-other-permissive", - // Public domain licenses are not flagged anyway. - "LicenseRef-scancode-public-domain", - // Disclaimers are not relevant because they have no obligations. - "LicenseRef-scancode-public-domain-disclaimer", - // Public domain licenses are not flagged anyway. - "LicenseRef-scancode-us-govt-public-domain", - // Disclaimers are not relevant because they have no obligations. - "LicenseRef-scancode-warranty-disclaimer", - /** - * 'unknown' category: - */ - "LicenseRef-scancode-license-file-reference", - // References to files do not matter, because the target files are also scanned. - "LicenseRef-scancode-see-license", - // References to files do not matter, because the target files are also scanned. - "LicenseRef-scancode-unknown-license-reference" -).map { SpdxSingleLicenseExpression.parse(it) }.toSet() - -/** - * The complete set of licenses covered by policy rules. - * - * // TODO: Update the handled licenses to cover all recently added categories. This requires adding - * policy rules for new (offinding) categories, if any. - */ -val handledLicenses = listOf( - claLicenses, - commercialLicenses, - copyleftLicenses, - copyleftLimitedLicenses, - freeRestrictedLicenses, - genericLicenses, - patentLicenses, - permissiveLicenses, - proprietaryFreeLicenses, - publicDomainLicenses, - unknownLicenses, - unstatedLicenses -).flatten().let { - it.getDuplicates().let { duplicates -> - require(duplicates.isEmpty()) { - "The classifications for the following licenses overlap: $duplicates" - } - } - - it.toSet() -} - -/** - * List of licenses approved by organization to be used for its open source projects. - */ -val orgOssProjectsApprovedLicenses = listOf( - "Apache-2.0", - "BSD-2-Clause", - "BSD-3-Clause", - "MIT" -).map { it.toSpdx() as SpdxSingleLicenseExpression }.toSortedSet(compareBy { it.toString() }) - -/** - * Variables used to generate MarkDown text of howToFixDefault() - */ -val doNotWorryText = "_Note_: Do not worry about creating a perfect curation or exclude. Reviewers will provide feedback." -val globTutorialMdLink = "[reference documentation](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob)" -val ortConfigContributingMdLink = "[CONTRIBUTING.md](https://github.com/oss-review-toolkit/ort-config/blob/main/CONTRIBUTING.md)" -val ortConfigVcsMdLink = "[ort-config repository](https://github.com/oss-review-toolkit/ort-config)" -val ortCurationsYmlFileConcludedLicenseMdLink = "[concluded license curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" -val ortCurationsYmlFileDeclaredLicenseMdLink = "[declared license curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" -val ortCurationsYmlVcsPathMdLink = "[VCS path curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" -val ortCurationsYmlVcsUrlMdLink = "[VCS URL curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" -var ortLicenseFindingCurationReasonMdLink = "[LicenseFindingCurationReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/LicenseFindingCurationReason.kt)" -val ortPackageConfigurationFileMdLink = "[package configuration](https://oss-review-toolkit.org/ort/docs/configuration/package-configurations)" -var ortPathExcludeReasonMdLink = "[PathExcludeReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/PathExcludeReason.kt)" -val ortResolutionsYmlRuleViolationMdLink = "[rule violation resolution](https://oss-review-toolkit.org/ort/docs/configuration/resolutions#resolving-policy-rule-violations)" -val ortScopeExcludeReasonMdLink = "[ScopeExcludeReason.kt](https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/kotlin/config/ScopeExcludeReason.kt)" -val ortYmlFileMdLink = "[.ort.yml file](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml)" -val ortYmlFilePathExcludeMdLink = "[path exclude](https://oss-review-toolkit.org/ort/docs/configuration/package-configurations#defining-path-excludes-and-license-finding-curations)" -val ortYmlFileScopeExcludeMdLink = "[scope exclude](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#excluding-scopes)" -val ortYmlFileLicenseFindingCurationMdLink = "[license finding curation](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#curations)" -val ortYmlFileRuleViolationResolutionMdLink = "[rule violation resolution](https://oss-review-toolkit.org/ort/docs/configuration/ort-yml#resolutions)" -val relatesToIssueText = "Relates-to: [Insert related issue number]".takeIf { ortResult.labels["jira"].isNullOrEmpty() } ?: "Relates-to: ${ortResult.labels["jira"]}" - -enum class PolicyRules { - OSS_PROJECT, - PROPRIETARY_PROJECT -} - -fun getArtifactOrUrlName(url: String): String = - "name of the artifact".takeIf { url.isBlank() } ?: url.substringAfterLast("/") - -fun getArtifactMavenSourcesMdLink(pkg: Package): String { - if (pkg.binaryArtifact.url.isEmpty()) return "URL of the binary" - - val binaryUrl = pkg.binaryArtifact.url - val binaryName = binaryUrl.substringAfterLast("/").substringBeforeLast(".") - val sourcesName = binaryName.plus("-sources") - val sourcesUrl = binaryUrl.replace(binaryName, sourcesName) - - return "[$sourcesName.jar]($sourcesUrl)" -} - -fun getArtifactMdLink(url: String): String = - "URL of the artifact".takeIf { url.isBlank() } ?: "[${url.substringAfterLast("/")}]($url)" - -/** - * Return set of policy rules based on project label passed to ORT. - */ -fun getEnabledPolicyRules(): PolicyRules = - when { - ortResult.hasLabel("project", "oss-project") -> PolicyRules.OSS_PROJECT - else -> PolicyRules.PROPRIETARY_PROJECT - } - -val enablePriorToOssRules = ortResult.hasLabel("enable-prior-to-oss-rules") - -/** - * Return file path of package configuration in the ORT configuration repository for package [id]. - * - * For example, if 'PyPI::flower:0.9.7' is found in your scan, - * then this function will return: 'package-configurations/PyPI/_/flower/0.9.7/vcs.yml' - * - */ -fun getPackageConfigurationFilePath(id: Identifier): String = - "package-configurations/${id.toPath(emptyValue = "_")}/" - -/** - * Return the package configuration matcher for package [id]. - * - * For example, if 'PyPI::flower:0.9.7' is found in your scan, - * then this function will return: - * - * id: "PyPI::flower:0.9.7" - * vcs: - * type: "Git" - * url: "https://github.com/mher/flower.git" - * revision: "26d19a816a362cdce32fd125596ed3bd238b40b4" - * - */ -fun getPackageConfigurationMatcherText(id: Identifier): String { - if (!ortResult.isPackage(id)) return "|" - - val provenance = ortResult.getScanResultsForId(id).firstOrNull()?.provenance - - if (provenance is ArtifactProvenance) { - return """ - | id: "${id.toCoordinates()}" - | source_artifact_url: "${provenance.sourceArtifact.url}" - """.trim() - } - - if (provenance is RepositoryProvenance) { - val vcsInfo = provenance.vcsInfo - - return buildString { - """ - | id: "${id.toCoordinates()}" - | vcs: - | type: "${vcsInfo.type}" - | url: "${vcsInfo.url}" - | revision: "${provenance.resolvedRevision}" - """.trim().let{ appendLine(it) } - - """ - | path: "${vcsInfo.path}" - """.trim().takeIf { vcsInfo.type == VcsType.GIT_REPO }?.let { appendLine(it) } - }.trim() - } - - return "|" -} - -/** - * Return the file path within ORT's configuration curations directory for [id]. - * - * For example, if 'NPM::acorn:7.1.1' is found in your scan, - * then this function will return 'curations/NPM/_/acorn.yml'. - * - */ -fun getPackageCurationsFilePath(id: Identifier): String = - "curations/${id.type}/${id.namespace.ifBlank { "_" }}/${id.name}.yml" - -/** - * Return a MarkDown link to the code repository for package [pkg]. - */ -fun getVcsMdLink(pkg: Package) : String { - if (pkg.vcsProcessed.url.isEmpty()) { - return "URL of the source code repository" - } - - val vcsUrl = pkg.vcsProcessed.url.replaceCredentialsInUri() - - return "[${vcsUrl.substringAfterLast("/")} repository](${vcsUrl.replace("ssh", "http")})" -} - -/** - * Return true if [license] is on the list of the organization's approved licenses for its open source projects. - */ -fun isApprovedOrgOssProjectLicense(license: SpdxSingleLicenseExpression) = license in orgOssProjectsApprovedLicenses - -/** - * Return true if the [ortResult] contains a scan result for the source artifact of the package denoted by [id]. - */ -fun isSourceArtifactScanned(id: Identifier): Boolean = - ortResult.getScanResultsForId(id).any { it.provenance is ArtifactProvenance } - -/** - * Return true if the [ortResult] contains a scan result for the VCS of the package denoted by [id]. - */ -fun isVcsScanned(id: Identifier): Boolean = - ortResult.getScanResultsForId(id).any { it.provenance is RepositoryProvenance } - -/** - * Return the coordinates without the version. - * - * For example, this function will return 'PyPI:flower' for package id 'PyPI::flower:0.9.7' - * and 'Maven:org.antlr:antlr4' for 'Maven:org.antlr:antlr4:4.0.0'. - * - */ -fun Identifier.toCoordinatesWithoutVersion() = "$type:$namespace:$name" - -/** - * Return Markdown-formatted text to aid users with resolving violations. - */ -fun PackageRule.howToFixDefault() = """ - A text written in MarkDown to help users resolve policy violations - which may link to additional resources. - """.trimIndent() - -fun PackageRule.howToFixLicenseViolationDefault( - license: String, - licenseSource: LicenseSource -): String { - if (ortResult.isProject(pkg.metadata.id)) { - // Violation is flagged for the project scanned. - if (licenseSource == LicenseSource.DETECTED) { - // License is detected by the scanner in the source code of the project. - return resolveViolationInSourceCodeText(pkg.metadata, license).trimMargin() - } - - // License is declared in project's package manifest file (pom, package.json, etc.). - return "For this violation, there is no recommended solution.".trimMargin() - } - - // Violation is thrown for one of the project's dependencies. - if (licenseSource == LicenseSource.DETECTED) { - // Violation thrown for license detected by the scanner in the source code of the dependency. - return resolveViolationInDependencySourceCodeText(pkg.metadata, license).trimMargin() - } - - // Violation thrown for declared license in dependency's package manifest file (pom, package.json, etc.). - return resolveViolationInDependencyDeclaredLicenseText(pkg.metadata).trimMargin() -} - -fun PackageRule.howToFixUnhandledLicense( - license: String, - licenseSource: LicenseSource -) : String { - val createIssueText = """ - |1. If an issue to add this license does not already exist in $orgScanIssueTrackerMdLink, please create it. - |2. Set the _Summary_ field to 'Add new license $license'. - |3. Set the _Component/s_ field to _licenses_. - |4. Set the _Description_ field to something like 'Please add this license to the review tooling.' - |""" - - if (ortResult.isProject(pkg.metadata.id)) { - // Unhandled license is found in the project under review. - if (licenseSource == LicenseSource.DETECTED) { - // Unhandled license is detected by the scanner in the source code of the project. - return """ - |${resolveViolationInSourceCodeText(pkg.metadata, license)} - | - |If the license identification is correct and can not be excluded, then - |follow the steps below to have Open Source Office add $license to the review tooling: - | - $createIssueText - |""".trimMargin() - } - - // Unhandled license is declared in project's package manifest file (pom, package.json, etc.). - return """ - |Follow the steps below to have Open Source Office add $license to the review tooling: - | - $createIssueText - |""".trimMargin() - } else { - // Unhandled license is found in project's dependency. - if (licenseSource == LicenseSource.DETECTED) { - // Unhandled license is detected by the scanner in the source code of the dependency. - return """ - |${resolveViolationInDependencySourceCodeText(pkg.metadata, license)} - | - |If the license identification is correct and can not be excluded, then - |follow the steps below to add $license to the review tooling: - | - $createIssueText - |""".trimMargin() - } - - // Unhandled license is declared in dependency's package manifest file (pom, package.json, etc.). - return """ - |Follow the steps below to add $license to the review tooling: - | - $createIssueText - |""".trimMargin() - } -} - -fun PackageRule.howToFixOssProjectDefault() = """ - A text written in MarkDown to help users resolve policy violations - which may link to additional resources. - """.trimIndent() - -fun PackageRule.howToFixUnmappedDeclaredLicense(license: String): String { - val genericDeclaredLicenses = setOf( - "BSD License", - "The BSD License" - ) - - return if (license in genericDeclaredLicenses) { - val binaryUrlMdLink = getArtifactMdLink(pkg.metadata.binaryArtifact.url) - val vcsUrlMdLink = getVcsMdLink(pkg.metadata) - - """ - |Try to resolve this violation by following the advice below: - | - |1. Clone $ortConfigVcsMdLink using Git. - |2. Map declared license '$license' to an [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/): - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.metadata.id)}`. - | - Determine the declared licenses for $binaryUrlMdLink by looking for the main license files in the $vcsUrlMdLink. - | Use the the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.metadata.id.toCoordinatesWithoutVersion()}" - | curations: - | comment: "Mapping declared license based on \ - | [https://url-to-repository/tag-or-revision-for-version-${pkg.metadata.id.version}/LICENSE] and \ - | [https://url-to-repository/tag-or-revision-for-version-${pkg.metadata.id.version}/package-metadata-file]." - | declared_license_mapping: - | "$license": "[SPDX license expression for the declared license.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | feat(curations): Map declared license for ${pkg.metadata.id.toCoordinatesWithoutVersion()} - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileDeclaredLicenseMdLink is merged, re-scan to see if the violation has been resolved. - |""".trimMargin() - } else { - """ - |Follow the steps below to add the $license to the review tooling: - | - |1. If a ticket to add this license does not already exist in $orgScanIssueTrackerMdLink, please create it. - |2. Set the _Summary_ field to 'Add new license mapping for license $license'. - |3. Set the _Component/s_ field to _licenses_. - |4. Set the _Description_ field to something like 'Please add a new declared license mapping for this license.' - |""".trimMargin() - } -} - -fun resolveViolationInDependencyDeclaredLicenseText(pkg: Package) : String { - val sourcesUrlMdLink = when (pkg.id.type) { - "Maven" -> getArtifactMavenSourcesMdLink(pkg) - "PIP", "PyPI" -> getArtifactMdLink(pkg.sourceArtifact.url) - else -> "the source artifact" - } - - if (isSourceArtifactScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { - val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) - val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) - - return """ - |Try to resolve this violation by following the advice below: - | - |1. Exclude the package scope if the package is not part of the released artifacts: - | - Check _Paths_ > _Scope_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` - | - If _Scope_ indicates the package is used for building or testing your code (e.g. 'compile' or 'test'), - | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. - | - |2. Otherwise, add a curation for the package if its declared license includes a license choice: - | - Clone $ortConfigVcsMdLink using Git. - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Find the licenses applicable to $binaryUrlMdLink by comparing its contents with the scan results for $sourcesUrlMdLink. - | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink.) - | - For each license that applies, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` - | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinates()}" - | curations: - | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. - | Additionally the scanner detects ...]" - | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is - | # concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" - | # However, as we do not have a mechanism to record a license choice yet, misuse the concluded - | # license to perform the choice until we have a proper mechanism implemented: - | concluded_license: "[Chosen licenses for $binaryName as a SPDX license expression.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Note that reviewers are set automatically. - | - | ``` - | - | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. - |""" - } - - val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) - val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) - val vcsUrlMdLink = getVcsMdLink(pkg) - - if (isVcsScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { - return """ - |Try to resolve this violation by following the advice below: - | - |1. Exclude the package scope if the package is not part of the released artifacts: - | - Check _Paths_ > _Scope_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` - | - If _Scope_ indicates the package is used for building or testing your code (e.g. 'compile' or 'test'), - | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. - | - |2. Otherwise, add a curation for the package if its declared license includes a license choice: - | - Clone $ortConfigVcsMdLink using Git. - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Find the licenses applicable to $binaryUrlMdLink by comparing its contents with the scan results for $sourcesUrlMdLink. - | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink.) - | - For each license that applies, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` - | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinates()}" - | curations: - | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. - | Additionally the scanner detects ...]" - | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is - | # concluded_license: "[Applicable licenses for $binaryName as SPDX license expression.]" - | # However, as we do not have a mechanism to record a license choice yet (see OSS-1163), misuse the concluded - | # license to perform the choice until we have a proper mechanism implemented: - | concluded_license: "[Chosen licenses for $binaryName as a SPDX license expression.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Note that reviewers are set automatically. - | - | ``` - | - | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. - |""" - } else { - val vcsName = getArtifactOrUrlName(pkg.vcsProcessed.url) - - return """ - |It may be possible to resolve this violation as follows: - | - |1. Try to exclude the scope of the package if it is not part of the released artifacts: - | - Check the _Paths_ section for '${pkg.id.toCoordinates()}' in the Web App scan report for the scopes where the package was found. - | - If a scope is only for packages used for building or testing your code, - | exclude it by adding a $ortYmlFileScopeExcludeMdLink to your $ortYmlFileMdLink. - | - |2. Otherwise, add a curation for the package if its declared license includes a license choice: - | - Clone $ortConfigVcsMdLink using Git. - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Find the licenses applicable to $vcsUrlMdLink which are included in your release artifacts. - | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $vcsUrlMdLink). - | - For each license that is not compiled in your release artifacts, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` - | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinates()}" - | curations: - | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. - | Additionally the scanner detects ...]" - | # FIXME: The real concluded license expression, taking into account both declared and detected licenses, is - | # concluded_license: "[Applicable licenses for $vcsName repository as a SPDX license expression.]" - | # However, as we do not have a mechanism to record a license choice yet (see OSS-1163), misuse the concluded - | # license to perform the choice until we have a proper mechanism implemented: - | concluded_license: "[Chosen licenses for $vcsName repository as a SPDX license expression.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Note that reviewers are set automatically. - | - | ``` - | - | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. - |""" - } -} - -fun resolveViolationInDependencySourceCodeText(pkg: Package, license: String) : String { - val sourcesUrlMdLink = when (pkg.id.type) { - "Maven" -> getArtifactMavenSourcesMdLink(pkg) - "PIP", "PyPI" -> getArtifactMdLink(pkg.sourceArtifact.url) - else -> "the source artifact" - } - - if (isSourceArtifactScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { - val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) - val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) - - return """ - |Try to resolve this violation by following the advice below: - | - |1. Clone $ortConfigVcsMdLink using Git. - |2. Download and extract: - | - $binaryUrlMdLink - | - $sourcesUrlMdLink - |4. Find the lines which triggered this violation: - | - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` - | - Filter the _Value_ column, selecting only the license to which the violation refers - |5. If there are license file findings for this package in directories in (extracted) $sourcesUrlMdLink but not $binaryUrlMdLink: - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. - | - Open the file `source-artifact.yml` in a text editor - | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFilePathExcludeMdLink - | for each _directory_ found in the (extracted) $sourcesUrlMdLink but not $binaryUrlMdLink. - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | path_excludes: - | - pattern: "[A glob pattern matching files or paths.]" - | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" - | - | ``` - | - | For information on how to write a glob pattern, please see this $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | packages: Add excludes for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. - | - |6. For each file where the license was found, check if the scanner correctly identified the license. - | If a license identification is incorrect: - | - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. - | - Open `source-artifact.yml` in a text editor. - | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | license_finding_curations: - | - path: "[A glob pattern matching files or paths.]" - | start_lines: "[String with comma-separated list of starting line integers.]" - | line_count: [Integer for number of lines to match.] - | detected_license: "$license" - | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" - | reason: "INCORRECT" - | comment: "[A comment explaining why the scanner is incorrect.]" - | - | ``` - | - | For information on how to write a glob pattern, visit $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Note that reviewers are set automatically. - | - | ``` - | - | packages: Add curations for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. - | | - |7. If '${pkg.id.toCoordinates()}' includes license choices or a large number of findings to be excluded or curated: - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Determine the applicable licenses for $binaryUrlMdLink by comparing its contents with the scan result findings. - | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink). - | - For each license that applies to $binaryUrlMdLink, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` - | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinates()}" - | curations: - | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. - | Additionally the scanner detects ...]" - | concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Note that reviewers are set automatically. - | - | ``` - | - | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. - | - $doNotWorryText - |""" - } - val binaryName = getArtifactOrUrlName(pkg.binaryArtifact.url) - val binaryUrlMdLink = getArtifactMdLink(pkg.binaryArtifact.url) - val vcsUrlMdLink = getVcsMdLink(pkg) - - if (isVcsScanned(pkg.id) && pkg.binaryArtifact.url.isNotEmpty()) { - return """ - |Try to resolve this violation by following the advice below: - | - |1. Clone $ortConfigVcsMdLink using Git. - |2. Download and extract $binaryUrlMdLink. - |3. Find the lines which triggered this violation: - ! - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` - | - Filter the _Value_ column, selecting only the licenses to which the violation refers - |4. Open the $vcsUrlMdLink in a web browser and find the source code for version `${pkg.id.version}`. - |5. If the extracted $binaryUrlMdLink contains fewer files or directories than shown under - | the _Scan Results_ for '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html`, you may need to - | limit the number of files/directories the scanner scans. For example, if the repository contains other - | packages and not just '${pkg.id.toCoordinates()}': - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Add an entry for '${pkg.id.toCoordinates()}' setting the `path` under `vcs` - | to the repository directory that contains the source code for the $binaryUrlMdLink. - | (To find the correct directory, search the names of files in the extracted $binaryUrlMdLink within $vcsUrlMdLink.) - | Use the following template, replacing the `path` field as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinatesWithoutVersion()}" - | curations: - | comment: "Package resides in its own directory within repo." - | vcs: - | path: "[File path to package e.g. ${pkg.id.name}.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | feat(curations): Set VCS path for `${pkg.id.toCoordinatesWithoutVersion()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlVcsUrlMdLink is merged, re-scan to see if the violation has been resolved. - | - |6. If there are license file findings for '${pkg.id.toCoordinates()}' in directories in $vcsUrlMdLink but not in the extracted $binaryUrlMdLink: - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. - | - Open `vcs.yml` in a text editor. - | - For each _directory_ found in the $vcsUrlMdLink but not in extracted $binaryUrlMdLink, add a $ortPackageConfigurationFileMdLink entry - | with a $ortYmlFilePathExcludeMdLink. - | . - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | path_excludes: - | - pattern: "[A glob pattern matching files or paths.]" - | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" - | - | ``` - | - | For information on how to write a glob pattern, please see this $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | packages: Add excludes for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. - | - |7. For each file where the license was found, check if the scanner correctly identified the license. - | If a license identification is incorrect: - | - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `source-artifact.yml`. - | - Open the file `source-artifact.yml` in a text editor. - | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | license_finding_curations: - | - path: "[A glob pattern matching files or paths.]" - | start_lines: "[String with comma-separated list of starting line integers.]" - | line_count: [Integer for number of lines to match.] - | detected_license: "$license" - | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" - | reason: "INCORRECT" - | comment: "[A comment explaining why the scanner is incorrect.]" - | - | ``` - | - | For information on how to write a glob pattern, please see this $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | packages: Add curations for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. - | - |8. If '${pkg.id.toCoordinates()}' includes license choices or a large number of findings to be excluded or curated: - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Determine the applicable licenses for $binaryUrlMdLink by comparing its contents with the scan result findings. - | (A license does not apply if the scan results show it to be in a particular file, but that file is absent in $binaryUrlMdLink). - | - For each license that applies to $binaryUrlMdLink, create an entry for '${pkg.id.toCoordinates()}' in `${getPackageCurationsFilePath(pkg.id)}`, setting `concluded_license` - | to show the appropriate [SPDX license expression](https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/). - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinates()}" - | curations: - | comment: "[The artifact declares as licensed under '${pkg.declaredLicensesProcessed.spdxExpression}', see \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/LICENSE and \ - | https://url-to-repository/tag-or-revision-for-version-${pkg.id.version}/package-metadata-file \. - | Additionally the scanner detects ...]" - | concluded_license: "[Applicable licenses for $binaryName as a SPDX license expression.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | feat(curations): Conclude license for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlFileConcludedLicenseMdLink is merged, re-scan to see if the violation has been resolved. - | - $doNotWorryText - |""" - } else { - return """ - |Try to resolve this violation by following the advice below: - | - |1. Clone $ortConfigVcsMdLink using Git. - |2. Find the lines which triggered this violation: - | - Expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-scan-report-web-app.html` - | - Filter the _Value_ column, selecting only the licenses to which the violation refers - |3. Open the $vcsUrlMdLink in a web browser and find the code for version `${pkg.id.version}`. - |4. If this package is in a repository containing other packages beside '${pkg.id.toCoordinates()}': - | - Open or create using a text editor `${getPackageCurationsFilePath(pkg.id)}`. - | - Add an entry for '${pkg.id.toCoordinates()}' setting the `path` under `vcs` - | to the repository directory that contains the source code for the package. - | Use the following template, changing the value of `path` as appropriate. - | - | ``` - | - | - id: "${pkg.id.toCoordinatesWithoutVersion()}" - | curations: - | comment: "Package resides in its own directory within repo." - | vcs: - | path: "[File path to package e.g. ${pkg.id.name}.]" - | - | ``` - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | feat(curations): Set VCS path for `${pkg.id.toCoordinatesWithoutVersion()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortCurationsYmlVcsUrlMdLink is merged, re-scan to see if the violation has been resolved. - | - |5. If there are license findings for '${pkg.id.toCoordinates()}' in directories in $vcsUrlMdLink used only for building or testing the code: - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. - | - Open `vcs.yml` in a text editor. - | - For each _directory_ found in the $vcsUrlMdLink, but not in extracted $binaryUrlMdLink, add a - | $ortPackageConfigurationFileMdLink entry with a $ortYmlFilePathExcludeMdLink. - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | path_excludes: - | - pattern: "[A glob pattern matching files or paths.]" - | reason: "[One of PathExcludeReason e.g. BUILD_TOOL_OF, DOCUMENTATION_OF, EXAMPLE_OF or TEST_OF.]" - | - | ``` - | - | For information on how to write a glob pattern, please see this $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortPathExcludeReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | packages: Add excludes for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortYmlFilePathExcludeMdLink is merged, re-scan to see if the violation has been resolved. - | - |6. For each file where the license was found, check if the scanner identified the license correctly. - | If a license identification is incorrect: - | - Create a directory `${getPackageConfigurationFilePath(pkg.id)}` with a file named `vcs.yml`. - | - Open `vcs.yml` in a text editor. - | - Add a $ortPackageConfigurationFileMdLink entry with a $ortYmlFileLicenseFindingCurationMdLink. - | Use the following template, changing the text in square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - ${getPackageConfigurationMatcherText(pkg.id)} - | license_finding_curations: - | - path: "[A glob pattern matching files or paths.]" - | start_lines: "[String with comma-separated list of starting line integers.]" - | line_count: [Integer for number of lines to match.] - | detected_license: "$license" - | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" - | reason: "INCORRECT" - | comment: "[A comment explaining why the scanner is incorrect.]" - | - | ``` - | - | For information on how to write a glob pattern, please see this $globTutorialMdLink. - | The available options for the `reason` field are defined in $ortLicenseFindingCurationReasonMdLink. - | - | - Submit the above change to the $ortConfigVcsMdLink (see $ortConfigContributingMdLink for guidance) with a commit message as shown below. - | Reviewers are set automatically. - | - | ``` - | - | packages: Add curations for `${pkg.id.toCoordinates()}` - | - | $relatesToIssueText - | - | ``` - | - | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. - | - $doNotWorryText - |""" - } -} - -fun resolveViolationInSourceCodeText(pkg: Package, license: String) : String { - return """ - |Try to resolve this violation by following the advice below: - | - |1. Find the lines which triggered this violation: - | - expand the _Scan Results_ section under '${pkg.id.toCoordinates()}' in `*-web-app.html` - | - filter the _Value_ column, selecting only the license to which the violation refers. - |2. Try to exclude the files or directories to which the violation refers but which are not part of the release artifacts - | of your project by adding a $ortYmlFilePathExcludeMdLink to your $ortYmlFileMdLink. - | - |3. For each file finding for the license, verify if the scanner correctly identified the license. - | If a license identification is incorrect: - | - | - Open your $ortYmlFileMdLink in a text editor. - | - Add a $ortYmlFileLicenseFindingCurationMdLink. - | Use the following template, changing the text surrounded by square brackets (`[...]`) as appropriate. - | - | ``` - | - | --- - | curations: - | license_findings: - | - path: "[A glob pattern matching files or paths.]" - | start_lines: "[String with comma-separated list of starting line integers.]" - | line_count: [Integer for number of lines to match.] - | detected_license: "$license" - | concluded_license: "[SPDX license expression for the correct license or use NONE to remove the detected license.]" - | reason: "INCORRECT" - | comment: "[A comment explaining why the scanner is incorrect.]" - | - | ``` - | - | - Once your $ortYmlFileLicenseFindingCurationMdLink is merged, re-scan to see if the violation has been resolved. - |""" -} - -/** - * Set of matchers to help keep policy rules easy to understand and corresponding helper functions. - */ - -fun isExceptionWithoutLicense(license: SpdxSingleLicenseExpression): Boolean = - license.toString().let { string -> - string.startsWith("NOASSERTION WITH ") || ("-exception" in string && " WITH " !in string) - } - -fun PackageRule.hasDefinitionFileName(vararg definitionFileNames: String) = - object : RuleMatcher { - private val matchingNames = definitionFileNames.toSet() - - override val description = "hasDefinitionFileName(${matchingNames.joinToString()})" - - override fun matches(): Boolean { - val project = ortResult.getProject(pkg.metadata.id) ?: return false - return project.definitionFilePath.substringAfterLast('/') in matchingNames - } - } - -fun PackageRule.LicenseRule.isApprovedOrgOssProjectLicense() = - object : RuleMatcher { - override val description = "isApprovedOrgOssProjectLicense($license)" - - override fun matches() = isApprovedOrgOssProjectLicense(license) - } - -fun PackageRule.LicenseRule.isHandled() = - object : RuleMatcher { - override val description = "isHandled($license)" - - override fun matches() = license in handledLicenses && !isExceptionWithoutLicense(license) - } - -fun PackageRule.LicenseRule.isCommercial() = - object : RuleMatcher { - override val description = "isCommercial($license)" - - override fun matches() = license in commercialLicenses - } - -fun PackageRule.LicenseRule.isCopyleft() = - object : RuleMatcher { - override val description = "isCopyleft($license)" - - override fun matches() = license in copyleftLicenses - } - -fun PackageRule.LicenseRule.isCopyleftLimited() = - object : RuleMatcher { - override val description = "isCopyleftLimited($license)" - - override fun matches() = license in copyleftLimitedLicenses - } - -fun PackageRule.LicenseRule.isExceptionWithoutLicense() = - object : RuleMatcher { - override val description = "isExceptionWithoutLicense($license)" - - override fun matches() = isExceptionWithoutLicense(license) - } - -fun PackageRule.LicenseRule.isFreeRestricted() = - object : RuleMatcher { - override val description = "isFreeRestricted($license)" - - override fun matches() = license in freeRestrictedLicenses - } - -fun PackageRule.LicenseRule.isGeneric() = - object : RuleMatcher { - override val description = "isGeneric($license)" - - override fun matches() = license in genericLicenses - } - -fun PackageRule.LicenseRule.isIgnored() = - object : RuleMatcher { - override val description = "isIgnored($license)" - - override fun matches() = license in ignoredLicenses - } - -fun PackageRule.LicenseRule.isProprietaryFree() = - object : RuleMatcher { - override val description = "isProprietaryFree($license)" - - override fun matches() = license in proprietaryFreeLicenses - } - -fun PackageRule.LicenseRule.isPatent() = - object : RuleMatcher { - override val description = "isPatent($license)" - - override fun matches() = license in patentLicenses - } - -fun PackageRule.LicenseRule.isUnknown() = - object : RuleMatcher { - override val description = "isUnknown($license)" - - override fun matches() = license in unknownLicenses - } - -fun PackageRule.LicenseRule.isUnstated() = - object : RuleMatcher { - override val description = "isUnstated($license)" - - override fun matches() = license in unstatedLicenses - } - -fun PackageRule.packageManagerSupportsDeclaredLicenses(): RuleMatcher = - NoneOf( - isType("Bundler"), - isType("DotNet"), - isType("GoDep"), - isType("GoMod"), - isType("Gradle"), - AllOf(isType("PIP"), Not(hasDefinitionFileName("setup.py"))), - isType("Pub"), - isType("Unmanaged") - ) - -/** - * Policy rules - */ - -fun RuleSet.commercialInDependencyRule() = packageRule("COMMERCIAL_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("COMMERCIAL_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isCommercial() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'commercial' " + - "categorized license $license. This requires approval.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.copyleftInDependencyRule() = packageRule("COPYLEFT_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("COPYLEFT_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isCopyleft() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'copyleft' " + - "categorized license $license.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.copyleftLimitedInDependencyRule() = dependencyRule("COPYLEFT_LIMITED_IN_DEPENDENCY") { - require { - +isStaticallyLinked() - -isExcluded() - } - - licenseRule("COPYLEFT_LIMITED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isCopyleftLimited() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is statically linked and licensed under the " + - "ScanCode 'copyleft-limited' categorized license $license.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.copyleftInSourceRule() = packageRule("COPYLEFT_IN_SOURCE") { - require { - +isProject() - -isExcluded() - } - - licenseRule("COPYLEFT_IN_SOURCE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - -isExcluded() - +isCopyleft() - } - - error( - "The ScanCode 'copyleft' categorized license $license was ${licenseSource.name.lowercase()} in project " + - "'${pkg.metadata.id.toCoordinates()}'.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.copyleftLimitedInSourceRule() = packageRule("COPYLEFT_LIMITED_IN_SOURCE") { - require { - +isProject() - -isExcluded() - } - - licenseRule("COPYLEFT_LIMITED_IN_SOURCE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - -isExcluded() - +isCopyleftLimited() - } - - error( - "The ScanCode 'copyleft-limited' categorized license $license was ${licenseSource.name.lowercase()} in " + - "project '${pkg.metadata.id.toCoordinates()}'.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.dependencyInProjectSourceRule() = projectSourceRule("DEPENDENCY_IN_PROJECT_SOURCE_RULE") { - val denyDirPatterns = listOf( - "**/node_modules" to setOf("NPM", "Yarn", "PNPM"), - "**/vendor" to setOf("GoMod", "GoDep") - ) - - denyDirPatterns.forEach { (pattern, packageManagers) -> - val offendingDirs = projectSourceFindDirectories(pattern) - - if (offendingDirs.isNotEmpty()) { - error( - "The directories ${offendingDirs.joinToString()} belong to the package manager(s) " + - "${packageManagers.joinToString()} and must not be committed.", - "Please delete the directories: ${offendingDirs.joinToString()}." - ) - } - } -} - -fun RuleSet.deprecatedScopeExludeInOrtYmlRule() = ortResultRule("DEPRECATED_SCOPE_EXCLUDE_REASON_IN_ORT_YML") { - val reasons = ortResult.repository.config.excludes.scopes.mapTo(mutableSetOf()) { it.reason } - - @Suppress("DEPRECATION") - val deprecatedReasons = setOf(ScopeExcludeReason.TEST_TOOL_OF) - - reasons.intersect(deprecatedReasons).forEach { offendingReason -> - warning( - "The repository configuration is using the deprecated scope exclude reason '$offendingReason'.", - "Please use only non-deprecated scope exclude reasons, see " + - "https://github.com/oss-review-toolkit/ort/blob/main/model/src/main/" + - "kotlin/config/ScopeExcludeReason.kt." - ) - } -} - -fun RuleSet.freeRestrictedInDependencyRule() = packageRule("FREE_RESTRICTED_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("FREE_RESTRICTED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isFreeRestricted() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'free-restricted' " + - "categorized license $license. This requires approval.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.genericInDependencyRule() = packageRule("GENERIC_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("GENERIC_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isGeneric() - -isExcluded() - -isIgnored() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' might contain a license which is unknown to the " + - " tooling. It was detected as $license which is just a trigger, but not a real license. Please " + - "create a dedicated license identifier if the finding is valid.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.missingCiConfigurationRule() = projectSourceRule("MISSING_CI_CONFIGURATION") { - require { - -AnyOf( - projectSourceHasFile( - ".appveyor.yml", - ".bitbucket-pipelines.yml", - ".gitlab-ci.yml", - ".travis.yml" - ), - projectSourceHasDirectory( - ".circleci", - ".github/workflows" - ) - ) - } - - error( - message = "This project does not have any known CI configuration files.", - howToFix = "Please setup a CI. If you already have setup a CI and the error persists, please contact support." - ) -} - -fun RuleSet.missingContributingFileRule() = projectSourceRule("MISSING_CONTRIBUTING_FILE") { - require { - -projectSourceHasFile("CONTRIBUTING.md") - } - - error("The project's code repository does not contain the file 'CONTRIBUTING.md'.") -} - -fun RuleSet.missingGitignoreFileRule() = projectSourceRule("MISSING_GITIGNORE_FILE") { - require { - +projectSourceHasVcsType(VcsType.GIT) - -projectSourceHasFile(".gitignore") - } - - error( - message = "Adding a '.gitignore' file is recommended practice to prevent pushing files with sensitive " + - "information, compiled code, system files, caches, logs or generated files such as dist directories.", - howToFix = "A wide variety of gitignore template files for specific programming languages, frameworks, tools " + - "and environments can be found at https://github.com/github/gitignore." - ) -} - -fun RuleSet.missingLicenseFileRule() = projectSourceRule("MISSING_LICENSE_FILE") { - require { - -projectSourceHasFile("LICENSE") - } - - error( - message = "The project's code repository does not contain the file 'LICENSE'." - ) -} - -fun RuleSet.missingReadmeFileRule() = projectSourceRule("MISSING_README_FILE") { - require { - -projectSourceHasFile("README.md") - } - - error("The project's code repository does not contain the file 'README.md'.") -} - -fun RuleSet.missingReadmeFileLicenseSectionRule() = projectSourceRule("MISSING_README_FILE_LICENSE_SECTION") { - require { - +projectSourceHasFile("README.md") - -projectSourceHasFileWithContent(".*^#{1,2} License$.*", "README.md") - } - - error( - message = "The file 'README.md' is missing a \"License\" section.", - howToFix = "Please add a \"License\" section to the file 'README.md'." - ) -} - -fun RuleSet.missingTestsRule() = projectSourceRule("MISSING_TESTS") { - require { - -projectSourceHasDirectory( - "**/*test*", - "**/*Test*", - ) - } - - error( - message = "This project does not seem to have any tests.", - howToFix = "Please setup tests. If you already have tests and the error persists, please contact support." - ) -} - -fun RuleSet.noLicenseInDependencyRule() = packageRule("NO_LICENSE_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - -hasLicense() - } - - error( - "No license information is available for dependency '${pkg.metadata.id.toCoordinates()}'.", - "If the dependency indeed is unlicensed, it must not be used. Otherwise, please conclude the appropriate " + - "license with a package curation." - ) -} - -fun RuleSet.packageConfigurationInOrtYmlRule() = ortResultRule("PACKAGE_CONFIGURATION_IN_ORT_YML") { - if (ortResult.repository.config.packageConfigurations.isNotEmpty()) { - warning( - "The use of package configurations is not allowed in the *.ort.yml file.", - "Please use a global package configuration in the $ortConfigVcsMdLink." - ) - } -} - -fun RuleSet.packageCurationInOrtYmlRule() = ortResultRule("PACKAGE_CURATION_IN_ORT_YML") { - if (ortResult.repository.config.curations.packages.isNotEmpty()) { - warning( - "The use of package curations is not allowed in the *.ort.yml file.", - "Please use a global package curation in the $ortConfigVcsMdLink." - ) - } -} - -fun RuleSet.patentInDependencyRule() = packageRule("PATENT_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("PATENT_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isPatent() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'patent-license' " + - "categorized license $license. This requires approval.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.proprietaryFreeInDependencyRule() = packageRule("PROPRIETARY_FREE_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("PROPRIETARY_FREE_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isProprietaryFree() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'proprietary-free' " + - "categorized license $license. This requires approval.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.unkownInDependencyRule() = packageRule("UNKNOWN_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("UNKNOWN_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isUnknown() - -isIgnored() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' might contain a license which is unknown to the " + - " tooling. It was detected as $license which is just a trigger, but not a real license. Please " + - "create a dedicated license identifier if the finding is valid.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.unstatedInDependencyRule() = packageRule("UNSTATED_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - } - - licenseRule("UNSTATED_IN_DEPENDENCY", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - +isUnstated() - -isExcluded() - } - - error( - "The dependency '${pkg.metadata.id.toCoordinates()}' is licensed under the ScanCode 'unstated-licenses' " + - "categorized license $license. This requires approval.", - howToFixLicenseViolationDefault(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.vulnerabilityInDependencyRule() = packageRule("VULNERABILITY_IN_DEPENDENCY") { - require { - -isProject() - -isExcluded() - +hasVulnerability() - } - - warning( - "The package '${pkg.metadata.id.toCoordinates()}' has a vulnerability.", - howToFixDefault() - ) -} - -fun RuleSet.vulnerabilityWithHighSeverityInDependencyRule() = packageRule("HIGH_SEVERITY_VULNERABILITY_IN_DEPENDENCY") { - val scoreThreshold = 5.0f - - require { - -isProject() - -isExcluded() - +AnyOf( - hasVulnerability(scoreThreshold, "CVSS2"), - hasVulnerability(scoreThreshold, "CVSS3") - ) - } - - error( - "The package '${pkg.metadata.id.toCoordinates()}' has a vulnerability score greater than or equal to " + - "$scoreThreshold.", - howToFixDefault() - ) -} - -fun RuleSet.unapprovedOssProjectLicenseRule() = packageRule("UNAPPROVED_OSS_PROJECT_LICENSE") { - require { - +isProject() - +packageManagerSupportsDeclaredLicenses() - } - - licenseRule("UNAPPROVED_OSS_PROJECT_LICENSE", LicenseView.ONLY_DECLARED) { - require { - -isApprovedOrgOssProjectLicense() - } - - error( - "Package '${pkg.metadata.id.toCoordinates()}' declares $license which is not an " + - "approved license within $orgName.", - howToFixOssProjectDefault() - ) - } -} - -fun RuleSet.unhandledLicenseRule() = packageRule("UNHANDLED_LICENSE") { - require { - -isExcluded() - } - - licenseRule("UNHANDLED_LICENSE", LicenseView.CONCLUDED_OR_DECLARED_AND_DETECTED) { - require { - -isExcluded() - -isHandled() - -isExceptionWithoutLicense() - } - - error( - "The license $license is currently not covered by policy rules. " + - "The license was ${licenseSource.name.lowercase()} in package " + - "'${pkg.metadata.id.toCoordinates()}'.", - howToFixUnhandledLicense(license.toString(), licenseSource) - ) - } -} - -fun RuleSet.unmappedDeclaredLicenseRule() = packageRule("UNMAPPED_DECLARED_LICENSE") { - require { - -isExcluded() - -hasConcludedLicense() - } - - resolvedLicenseInfo.licenseInfo.declaredLicenseInfo.processed.unmapped.forEach { unmappedLicense -> - warning( - "The declared license '$unmappedLicense' could not be mapped to a valid license or parsed as an SPDX " + - "expression. The license was found in package '${pkg.metadata.id.toCoordinates()}'.", - howToFixUnmappedDeclaredLicense(unmappedLicense) - ) - } -} - -fun RuleSet.wrongLicenseInLicenseFileRule() = projectSourceRule("WRONG_LICENSE_IN_LICENSE_FILE_RULE") { - require { - +projectSourceHasFile("LICENSE") - } - - val allowedRootLicenses = orgOssProjectsApprovedLicenses.mapTo(mutableSetOf()) { it.simpleLicense() } - val detectedRootLicenses = projectSourceGetDetectedLicensesByFilePath("LICENSE").values.flatten().toSet() - val wrongLicenses = detectedRootLicenses - allowedRootLicenses - - if (wrongLicenses.isNotEmpty()) { - error( - message = "The file 'LICENSE' contains the following disallowed licenses ${wrongLicenses.joinToString()}.", - howToFix = "Please use only the following allowed licenses: ${allowedRootLicenses.joinToString()}." - ) - } else if (detectedRootLicenses.isEmpty()) { - error( - message = "The file 'LICENSE' does not contain any license which is not allowed.", - howToFix = "Please use one of the following allowed licenses: ${allowedRootLicenses.joinToString()}." - ) - } -} - -fun RuleSet.commonRules() { - unhandledLicenseRule() - unmappedDeclaredLicenseRule() - - // Rules applicable to the `.ort.yml` file: - deprecatedScopeExludeInOrtYmlRule() - packageConfigurationInOrtYmlRule() - packageCurationInOrtYmlRule() - - // Rules for dependencies: - noLicenseInDependencyRule() - vulnerabilityInDependencyRule() - vulnerabilityWithHighSeverityInDependencyRule() - - // Prior to open sourcing use case rules (which get executed once): - if (enablePriorToOssRules) { - dependencyInProjectSourceRule() - missingCiConfigurationRule() - missingContributingFileRule() - missingGitignoreFileRule() - missingLicenseFileRule() - missingReadmeFileRule() - missingReadmeFileLicenseSectionRule() - missingTestsRule() - wrongLicenseInLicenseFileRule() - } -} - -fun RuleSet.ossProjectRules() { - // Rules for project sources: - unapprovedOssProjectLicenseRule() -} - -fun RuleSet.proprietaryProjectRules() { - // Rules for project sources: - copyleftInSourceRule() - copyleftLimitedInSourceRule() - - // Rules for dependencies: - commercialInDependencyRule() - copyleftInDependencyRule() - copyleftLimitedInDependencyRule() - freeRestrictedInDependencyRule() - genericInDependencyRule() - patentInDependencyRule() - proprietaryFreeInDependencyRule() - unkownInDependencyRule() - unstatedInDependencyRule() -} - -fun RuleSet.noCopyleftDependencyRules() { - copyleftInDependencyRule() - copyleftLimitedInDependencyRule() -} - -val ruleSet = ruleSet(ortResult, licenseInfoResolver, resolutionProvider) { - noCopyleftDependencyRules() -} - -// Populate the list of policy rule violations to return. -ruleViolations += ruleSet.violations diff --git a/license-classifications.yml b/license-classifications.yml deleted file mode 100644 index db5faf53..00000000 --- a/license-classifications.yml +++ /dev/null @@ -1,12681 +0,0 @@ -# -# License classification generated based on https://scancode-licensedb.aboutcode.org/. -# -# This ORT configuration file is provided as an example only. It -# demonstrates the general configuration capabilities of ORT and does not -# reflect any real-world configuration used by the ORT contributors, nor -# are they a recommendation on the configuration to use. -# -# Please consult your legal counsel about how ORT should be configured for your use cases. -# -# For detailed documentation on this file, see -# https://github.com/oss-review-toolkit/ort/blob/main/docs/config-file-license-classifications-yml.md. -# ---- -categories: -- name: "cla" -- name: "commercial" -- name: "copyleft" -- name: "copyleft-limited" -- name: "free-restricted" -- name: "generic" -- name: "include-in-notice-file" -- name: "include-source-code-offer-in-notice-file" -- name: "patent-license" -- name: "permissive" -- name: "proprietary-free" -- name: "public-domain" -- name: "source-available" -- name: "unknown" -- name: "unstated-license" -categorizations: -- id: "0BSD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "3D-Slicer-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AAL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ADSL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AFL-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AFL-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AFL-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AFL-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AFL-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AGPL-1.0-only" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "AGPL-1.0-or-later" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "AGPL-3.0-only" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "AGPL-3.0-or-later" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "AMD-newlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AMDPLPA" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AML" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AML-glslang" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AMPAS" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ANTLR-PD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ANTLR-PD-fallback" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "APAFML" - categories: - - "permissive" - - "include-in-notice-file" -- id: "APL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "APSL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "APSL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "APSL-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "APSL-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "ASWF-Digital-Assets-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "ASWF-Digital-Assets-1.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "Abstyles" - categories: - - "permissive" - - "include-in-notice-file" -- id: "AdaCore-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Adobe-2006" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Adobe-Display-PostScript" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Adobe-Glyph" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Adobe-Utopia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Afmparse" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Aladdin" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Apache-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Apache-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Apache-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Apache-2.0 WITH Swift-exception" - categories: - - "permissive" - - "include-in-notice-file" -- id: "App-s2p" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Arphic-1999" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Artistic-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Artistic-1.0-Perl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Artistic-1.0-cl8" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Artistic-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Artistic-dist" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Aspell-RU" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-1-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause-Darwin" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause-Patent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause-Views" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause-first-lines" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-2-Clause-pkgconf-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-Attribution" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-Clear" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-HP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-LBNL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-Modification" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-No-Military-License" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "BSD-3-Clause-No-Nuclear-License" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "BSD-3-Clause-No-Nuclear-License-2014" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "BSD-3-Clause-No-Nuclear-Warranty" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "BSD-3-Clause-Open-MPI" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-Sun" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-acpica" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-3-Clause-flex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-4-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-4-Clause-Shortened" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-4-Clause-UC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-4.3RENO" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-4.3TAHOE" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Advertising-Acknowledgement" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Attribution-HPND-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Inferno-Nettverk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Protection" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "BSD-Source-Code" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Source-beginning-file" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Systemics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSD-Systemics-W3Works" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BSL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BUSL-1.1" - categories: - - "source-available" - - "include-in-notice-file" -- id: "Baekmuk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Bahyph" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Barr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Beerware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BitTorrent-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "BitTorrent-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Bitstream-Charter" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Bitstream-Vera" - categories: - - "permissive" - - "include-in-notice-file" -- id: "BlueOak-1.0.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Boehm-GC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Boehm-GC-without-fee" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Borceux" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Brian-Gladman-2-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Brian-Gladman-3-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "C-UDA-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "CAL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CAL-1.0-Combined-Work-Exception" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CATOSL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-2.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-2.5-AU" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-AT" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-AU" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-DE" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-IGO" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-NL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-3.0-US" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-4.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CC-BY-NC-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-3.0-DE" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-3.0-DE" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-3.0-IGO" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-ND-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-2.0-DE" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-2.0-FR" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-2.0-UK" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-3.0-DE" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-3.0-IGO" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-NC-SA-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-3.0-DE" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-ND-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "CC-BY-SA-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-2.0-UK" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-2.1-JP" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-2.5" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-3.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-3.0-AT" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-3.0-DE" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-3.0-IGO" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-BY-SA-4.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC-PDDC" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "CC-PDM-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "CC-SA-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CC0-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "CDDL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CDDL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CDL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CDLA-Permissive-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CDLA-Permissive-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CDLA-Sharing-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CECILL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CECILL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CECILL-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CECILL-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CECILL-B" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CECILL-C" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CERN-OHL-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CERN-OHL-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CERN-OHL-P-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CERN-OHL-S-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CERN-OHL-W-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CFITSIO" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CMU-Mach" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CMU-Mach-nodoc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CNRI-Jython" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CNRI-Python" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CNRI-Python-GPL-Compatible" - categories: - - "permissive" - - "include-in-notice-file" -- id: "COIL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CPAL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "CPOL-1.02" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "CUA-OPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Caldera" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "Caldera-no-preamble" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Catharon" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ClArtistic" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Clips" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Community-Spec-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Condor-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Cornell-Lossless-JPEG" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Cronyx" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Crossword" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CryptoSwift" - categories: - - "permissive" - - "include-in-notice-file" -- id: "CrystalStacker" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Cube" - categories: - - "permissive" - - "include-in-notice-file" -- id: "D-FSL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "DEC-3-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DL-DE-BY-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DL-DE-ZERO-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DOC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DRL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DRL-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DSDP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DocBook-DTD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DocBook-Schema" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DocBook-Stylesheet" - categories: - - "permissive" - - "include-in-notice-file" -- id: "DocBook-XML" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Dotseqn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ECL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ECL-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "EFL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "EFL-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "EPICS" - categories: - - "permissive" - - "include-in-notice-file" -- id: "EPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "EPL-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "EUDatagrid" - categories: - - "permissive" - - "include-in-notice-file" -- id: "EUPL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "EUPL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "EUPL-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Elastic-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "Entessa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ErlPL-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Eurosym" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "FBM" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FDK-AAC" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "FSFAP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FSFAP-no-warranty-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FSFUL" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "FSFULLR" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FSFULLRSD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FSFULLRWD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FSL-1.1-ALv2" - categories: - - "source-available" - - "include-in-notice-file" -- id: "FSL-1.1-MIT" - categories: - - "source-available" - - "include-in-notice-file" -- id: "FTL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Fair" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Ferguson-Twofish" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Frameworx-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "FreeBSD-DOC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "FreeImage" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Furuseth" - categories: - - "permissive" - - "include-in-notice-file" -- id: "GCR-docs" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "GFDL-1.1-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.1-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.1-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.1-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.1-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.1-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.2-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GFDL-1.3-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GL2PS" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GLWTPL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "GPL-1.0-only" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-1.0-or-later" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-2.0-only" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-2.0-only WITH Classpath-exception-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-2.0-or-later" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-2.0-or-later WITH Classpath-exception-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-only" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-only WITH Autoconf-exception-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-only WITH Classpath-exception-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-only WITH GCC-exception-3.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-or-later" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-or-later WITH Classpath-exception-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "GPL-3.0-or-later WITH GCC-exception-3.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Game-Programming-Gems" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Giftware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Glide" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Glulxe" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Graphics-Gems" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Gutmann" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HDF5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HIDAPI" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HP-1986" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HP-1989" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-DEC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Fenneberg-Livingston" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-INRIA-IMAG" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Intel" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Kevlin-Henney" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-MIT-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Markus-Kuhn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Netrek" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-Pbmplus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-UC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-UC-export-US" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "HPND-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-doc-sell" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-export-US" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "HPND-export-US-acknowledgement" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "HPND-export-US-modify" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-export2-US" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-merchantability-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-sell-MIT-disclaimer-xserver" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-sell-regexpr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-sell-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-sell-variant-MIT-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HPND-sell-variant-MIT-disclaimer-rev" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HTMLTIDY" - categories: - - "permissive" - - "include-in-notice-file" -- id: "HaskellReport" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Hippocratic-2.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "IBM-pibs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ICU" - categories: - - "permissive" - - "include-in-notice-file" -- id: "IEC-Code-Components-EULA" - categories: - - "permissive" - - "include-in-notice-file" -- id: "IJG" - categories: - - "permissive" - - "include-in-notice-file" -- id: "IJG-short" - categories: - - "permissive" - - "include-in-notice-file" -- id: "IPA" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "IPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "ISC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ISC-Veillard" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ImageMagick" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Imlib2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Info-ZIP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Inner-Net-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "InnoSetup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Intel" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Intel-ACPI" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Interbase-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "JPL-image" - categories: - - "source-available" - - "include-in-notice-file" -- id: "JPNIC" - categories: - - "permissive" - - "include-in-notice-file" -- id: "JSON" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Jam" - categories: - - "permissive" - - "include-in-notice-file" -- id: "JasPer-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Kastrup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Kazlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Knuth-CTAN" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LAL-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LAL-1.3" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-2.0-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-2.0-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-2.1-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-2.1-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-3.0-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPL-3.0-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LGPLLR" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LOOP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LPD-document" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPL-1.02" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPPL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPPL-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPPL-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPPL-1.3a" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LPPL-1.3c" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LZMA-SDK-9.11-to-9.20" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LZMA-SDK-9.22" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "Latex2e" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Latex2e-translated-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Leptonica" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LiLiQ-P-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LiLiQ-R-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LiLiQ-Rplus-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Libpng" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-3com-microcode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-3dslicer-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-4suite-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-996-icu-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-Hippocratic-3.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-a-star-logic-memoire-temp" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aardvark-py-2014" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-abrms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-abstyles" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ac3filter" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-accellera-systemc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-acdl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ace-tao" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-acki-nacki-node-2024-10-04" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-acm-sla" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-acroname-bdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-acter-psl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-activepieces-enterprise-2023" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-activestate-community" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-activestate-community-2012" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-activestate-komodo-edit" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-activision-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-actuate-birt-ihub-ftype-sla" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adacore-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adapt-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-adaptec-downloadable" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adaptec-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adcolony-tos-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-addthis-mobile-sdk-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adi-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adi-bsd-2011" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adi-bsd-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-acrobat-reader-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-air-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-air-sdk-2014" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-color-profile-bundling" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-color-profile-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-dng-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-dng-spec-patent" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-flash-player-eula-21.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-flex-4-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-flex-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-general-tou" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-glyph" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-indesign-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-postscript" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-scl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adobe-utopia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adrian" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-adsl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aes-128-3.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-affine-ee-2023" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afl-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afl-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afl-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afl-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afmparse" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-afpl-8.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-afpl-9.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ag-grid-enterprise" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-agentxpp" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-agere-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-agere-sla" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ago-private-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-agpl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-agpl-1.0-plus" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-agpl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-agpl-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-agpl-3.0-plus" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-agtpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aladdin-md5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-alasir" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aldor-public-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-alexisisaac-freeware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-allegro-4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-allen-institute-software-2018" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-alliance-open-media-patent-1.0" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-altermime" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-altova-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amazon-redshift-jdbc" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amazon-sl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amd-aspf-2023" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amd-historical" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amd-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amd-linux-firmware-export" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amdplpa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aml" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amlogic-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ampas" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-amplication-ee-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ams-fonts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-anaconda-tos-2024-03-30" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-android-sdk-2009" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-android-sdk-2012" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-android-sdk-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-android-sdk-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-android-sdk-preview-2015" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-anepokis-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-angi-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-anti-capitalist-1.4" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-antlr-pd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-antlr-pd-fallback" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-anu-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-any-osi" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-any-osi-perl-modules" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aop-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apache-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apache-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apache-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apache-due-credit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apafml" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apl-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-app-s2p" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-appfire-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-academic-lisa-os-3.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-attribution" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-attribution-1997" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-excl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-mfi-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-ml-ferret-2023" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-mpeg-4" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apple-sscl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-appsflyer-framework" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-apsl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-apsl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-apsl-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-apsl-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-aptana-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-arachni-psl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aravindan-premkumar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-argouml" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-arm-cortex-mx" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-arm-llvm-sga" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-arphic-public" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-array-input-method-pl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-artistic-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-artistic-1.0-cl8" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-artistic-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-artistic-clarified" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-artistic-dist-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-artistic-perl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-asal-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ascender-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ascender-web-fonts" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aslp" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aslr" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-asmus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-asn1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aspell-ru" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aswf-digital-assets-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aswf-digital-assets-1.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ati-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atkinson-hyperlegible-font" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-atlassian-marketplace-tou" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atmel-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atmel-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atmel-microcontroller" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-atmosphere-0.4" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-attribution" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-authorizenet-sdk" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-autodesk-3d-sft-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-autoit-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-autosar-proprietary" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-avdpro-2023-10-30" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-avsystem-5-clause" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-aws-ip-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-baekmuk-fonts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bahyph" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bakoma-fonts-1995" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bapl-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-barr-tex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-baserow-ee-2019" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-baserow-pe-2019" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bcrypt-solar-designer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bea-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-beal-screamer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bear-blog-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-beegfs-eula-2024" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-beerware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-beri-hw-sw-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-berryai-2024" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigcode-open-rail-m-v1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigdigits" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigelow-holmes" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigscience-open-rail-m" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigscience-open-rail-m2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bigscience-rail-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bilibili-model-ula-2025-09-09" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-binary-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-binary-linux-firmware-patent" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-biopython" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-biosl-4.0" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bitstream" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bittorrent-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-bittorrent-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-bittorrent-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-bittorrent-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bitwarden-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bitzi-pd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-blas-2017" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-blender-2010" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-blessing" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-blitz-artistic" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-bloomberg-blpapi" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-blueoak-1.0.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bohl-0.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bola10" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bola11" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-boost-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-boost-original" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-borceux" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-boutell-libgd-2021" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bpel4ws-spec" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bpmn-io" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brad-martinez-vb-32" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brankas-open-license-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brent-corkum" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brian-clapper" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brian-gladman" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brian-gladman-3-clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brian-gladman-dual" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-cfe" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-commercial" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-confidential" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-dual" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-broadcom-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-linux-timer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-opus-patent" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-proprietary" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-raspberry-pi" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-standard-terms" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-unpublished-source" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadcom-wiced" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-broadleaf-fair-use" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-brocade-firmware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bruno-podetti" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-1-clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-1-clause-build" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-1988" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-first-lines" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-freebsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-netbsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-pkgconf-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-plus-advertizing" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-2-clause-views" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-devine" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-fda" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-hp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-jtag" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-no-change" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-no-military" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-no-nuclear-warranty" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-no-trademark" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-open-mpi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-3-clause-sun" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-4-clause-shortened" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-ack" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-ack-carrot2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-advertising-acknowledgement" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-artwork" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-atmel" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-axis" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-axis-nomod" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-credit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-dpt" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-endorsement-allowed" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-export" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-gnu-efi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-inferno-nettverk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-innosys" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-intel" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-mylex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-new" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-new-derivative" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-new-nomod" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-new-tcpdump" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-no-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-no-disclaimer-unmodified" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-no-mod" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original-muscle" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original-uc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original-uc-1986" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original-uc-1990" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-original-voices" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-plus-mod-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-plus-patent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-protection" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-bsd-simplified" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-simplified-darwin" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-simplified-intel" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-simplified-source" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-source-code" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-systemics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-systemics-w3works" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-top" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-top-gpl-addition" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-unchanged" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-unmodified" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-x11" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsd-zero" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsl-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsl-1.1" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsla" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bsla-no-advert" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bugsense-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bytemark" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bzip2-libbzip-1.0.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-bzip2-libbzip-2010" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-c-fsl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-c-uda-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ca-ossl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ca-tosl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cadence-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cal-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cal-1.0-combined-work-exception" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-caldera" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-caldera-no-preamble" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-camunda-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-2.0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-alberta-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-british-columbia-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-nova-scotia-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-ontario-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-can-ogl-toronto-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-canonical-ha-cla-any-e-v1.2" - categories: - - "cla" -- id: "LicenseRef-scancode-canonical-ha-cla-any-i-v1.2" - categories: - - "cla" -- id: "LicenseRef-scancode-canonical-iprights-2015" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-capec-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-caramel-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-caramel-license-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-careware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-carnegie-mellon" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-carnegie-mellon-contributors" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-catharon-osl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cavium-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cavium-malloc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cavium-targeted-hardware" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-2.0-uk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-2.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-2.5-au" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-at" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-au" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-de" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-igo" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-nl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-3.0-us" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-4.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-3.0-de" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-2.0-at" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-2.0-au" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-3.0-de" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-3.0-igo" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-nd-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-de" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-fr" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-2.0-uk" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-de" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-igo" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-3.0-us" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nc-sa-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-2.5" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-3.0-de" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-nd-4.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-2.0-uk" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-2.1-jp" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-2.5" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-3.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-3.0-at" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-3.0-de" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-3.0-igo" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-by-sa-4.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-devnations-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-gpl-2.0-pt" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-lgpl-2.1-pt" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-nc-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-nc-sampling-plus-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-nd-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-pdm-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-sa-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cc-sampling-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc-sampling-plus-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cc0-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ccg-research-academic" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cclrc" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ccrc-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cddl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cddl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cdla-permissive-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cdla-permissive-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cdla-sharing-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-1.0-en" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-2.0-fr" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-2.1-fr" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-b" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cecill-b-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cecill-c" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cecill-c-en" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cern-attribution-1995" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cern-ohl-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cern-ohl-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cern-ohl-p-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cern-ohl-s-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cern-ohl-w-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cexcept-2008" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cfitsio" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cgic" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chameleon-research-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-charmpp-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-charmpp-converse-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chartdirector-6.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-check-cvs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-checkmk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chelsio-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chicken-dl-0.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chillicream-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-chris-maunder" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-chris-stoy" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-christopher-velazquez" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cisco-avch264-patent" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-classic-vb" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-classworlds" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-clear-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-clear-bsd-1-clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-clearthought-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-click-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-clips-2017" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cloudera-express" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmigemo" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmr-no" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-computing-services" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-flite" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-nara-nagoya" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-simple" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-template" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cmu-uc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cncf-corporate-cla-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-cncf-individual-cla-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-cnri-jython" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cnri-python-1.6" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cnri-python-1.6.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cockroach" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cockroachdb-2024-10-01" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-code-credit-license-1.0.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-code-credit-license-1.0.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-code-credit-license-1.1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-codeguru-permissions" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-codesourcery-2004" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-codexia" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cognitive-web-osl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-coil-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-colt" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-com-oreilly-servlet" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-commercial-license" - categories: - - "generic" -- id: "LicenseRef-scancode-commercial-option" - categories: - - "generic" -- id: "LicenseRef-scancode-commonj-timer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-compass" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-componentace-jcraft" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-concursive-pl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-condor-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-confluent-community-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cooperative-non-violent-4.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cooperative-non-violent-6.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cooperative-non-violent-7.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-copyheart" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-copyleft-next-0.3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-copyleft-next-0.3.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cornell-lossless-jpeg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-corporate-accountability-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cosl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cosli" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-couchbase-community" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-couchbase-enterprise" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cpal-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cpl-0.5" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cpm-2022" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cpol-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cpol-1.02" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cpp-core-guidelines" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crapl-0.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crashlytics-agreement-2018" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crcalc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cronyx" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crossword" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crunchbase-data-2019-12-17" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crypto-keys-redistribution" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cryptopp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cryptoswift" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-crystal-stacker" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-csl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-csla" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-csprng" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ctl-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cua-opl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-cube" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cubiware-software-1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cups" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-curl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cve-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cvwl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cwe-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cximage" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cypress-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-cyverse-3-clause-2017" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-d-fsl-1.0-de" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-d-fsl-1.0-en" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-d-zlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-daikon-2022" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-damail" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dante-treglia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-databricks-db" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-databricks-dbx-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-datamekanix-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-day-spec" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dbad" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dbad-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dbcl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dbisl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dco-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-dco-1.1" - categories: - - "cla" -- id: "LicenseRef-scancode-dec-3-clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-deepseek-la-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-defensive-patent-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-defold-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dejavu-font" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-delorie-historical" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dennis-ferguson" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-devblocks-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dgraph-cla" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dhb-lbnl-bsd-2007" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dhb-limited-bsd-2015" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dhtmlab-public" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-diffgram-dlv2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-diffmark" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-digia-qt-commercial" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-digia-qt-preview" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-divx-open-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-divx-open-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-djangosnippets-tos" - categories: - - "cla" -- id: "LicenseRef-scancode-dl-de-by-1-0-de" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-by-1-0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-by-2-0-de" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-by-2-0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-by-nc-1-0-de" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-by-nc-1-0-en" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dl-de-zero-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dmalloc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dmtf-2017" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-do-no-harm-0.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-docbook" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-docbook-dtd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-docbook-schema" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-docbook-stylesheet" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dom4j" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dos32a-extender" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dosa-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dotseqn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-doug-lea" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-douglas-young" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dpl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-dr-john-maddock" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-drl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-drl-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dropbear" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dropbear-2016" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-drul-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dsdp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dtree" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dual-bsd-gpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dual-commercial-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-duende-sla-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dumb" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dvipdfm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dwtfnmfpl-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dynamic-drive-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dynarch-developer" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-dynarch-linkware" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecfonts-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecl-gcl-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2001" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2002" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2003" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2004" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2005" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2010" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2011" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2014" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2014-11" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-sua-2017" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eclipse-tck-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecma-documentation" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecma-patent-coc-0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecma-patent-coc-1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecma-patent-coc-2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecma-standard-copyright-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ecosrh-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ecosrh-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-edrdg-2000" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-efl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-efl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-efsl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-efsl-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-egenix-1.0.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-egenix-1.1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-egrappler" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ej-technologies-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ekioh" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-elastic-license-2018" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-elastic-license-v2" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-elib-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-elixir-trademark-policy" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ellis-lab" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-embedthis-evaluation" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-embedthis-extension" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-embedthis-tou-2022" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-emit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-emx-library" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-energyplus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-energyplus-2023" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-energyplus-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-enhydra-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-enlightenment" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-enna" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-entessa-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-epaperpress" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-epics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-epl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-epl-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-epo-osl-2005.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-epson-avasys-pl-2008" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-epson-linux-sla-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-eqvsl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-eric-glass" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-erlangpl-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-esri" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-esri-devkit" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-etalab-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-etalab-2.0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-etalab-2.0-fr" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-eu-datagrid" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-eupl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eupl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eupl-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-eurosym" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-examdiff" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-exaone-ai-model-1.1-nc" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-excelsior-jet-runtime" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fabien-tassin" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fabric-agreement-2017" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-facebook-nuclide" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-facebook-patent-rights-2" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-facebook-software-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fair" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fair-ai-public-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fair-ai-public-1.0-sd" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fair-source-0.9" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-falcon-2-11b-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fancyzoom" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fastbuild-2012-2020" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fastcgi-devkit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fatfs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fbm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fcl-1.0-apache-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fcl-1.0-mit" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ferguson-twofish" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ffsl-1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fftpack-2004" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fido-metadata-ut-3.00" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-filament-group-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-first-epss-usage" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-first-works-appreciative-1.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flex-2.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flex2sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flora-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flowcrypt-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flowcrypt-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flowcrypt-1.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-flowplayer-gpl-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-flux-1-nc" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-font-alias" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-foobar2000" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fpdf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fplot" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-frameworx-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fraunhofer-fdk-aac-codec" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fraunhofer-iso-14496-10" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-free-art-1.3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-free-fork" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-free-surfer-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-free-unknown" - categories: - - "unknown" -- id: "LicenseRef-scancode-freebsd-boot" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freebsd-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freebsd-first" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freeimage-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-freemarker" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freertos-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freetts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freetype" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-freetype-patent" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-froala-owdl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-frontier-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fsf-ap" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsf-free" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsf-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsf-regex-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-fsf-unlimited" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsf-unlimited-no-warranty" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsfap-no-warranty-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsfullrsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsl-1.0-apache-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsl-1.0-mit" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsl-1.1-apache-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fsl-1.1-mit" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ftdi" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ftpbean" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-furuseth" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-futo-sfl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-futo-sfl-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-futo-sfl-1.1-kb" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-fwlw" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-g10-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gareth-mccaughan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gary-s-brown" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gatling-highcharts" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gaussian-splatting-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gcel-2022" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gco-v3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gcr-docs" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gdcl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-geant4-sl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gemini-api-additional-tos-2025" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gemma-pup-2024-02-21" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gemma-tou-2024-04-01" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gemma-tou-2025-03-24" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-generaluser-gs-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-generic-amiwm" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-generic-cla" - categories: - - "generic" -- id: "LicenseRef-scancode-generic-export-compliance" - categories: - - "generic" -- id: "LicenseRef-scancode-generic-loop" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-generic-tos" - categories: - - "generic" -- id: "LicenseRef-scancode-generic-trademark" - categories: - - "generic" -- id: "LicenseRef-scancode-generic-xts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-genivia-gsoap" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-geoff-kuenning-1993" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-geogebra-ncla-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.1-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.2-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3-no-invariants-only" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3-no-invariants-or-later" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gfdl-1.3-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ghostpdl-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ghostscript-1988" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-github-codeql-terms-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gitlab-ee" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gitleaks-action-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gitpod-self-hosted-free-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gl2ps" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gladman-older-rijndael-code" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gladman-older-rijndael-code-use" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-glide" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-glulxe" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-glut" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-glwtpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gnu-emacs-gpl-1985" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gnu-emacs-gpl-1988" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gnuplot" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-goahead" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-good-boy" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-analytics-tos" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-analytics-tos-2015" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-analytics-tos-2016" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-analytics-tos-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-apis-tos-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-google-corporate-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-google-maps-tos-2018-02-07" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-05-01" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-06-07" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-07-09" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-07-19" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-10-01" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2018-10-31" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2019-05-02" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2019-11-21" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2020-04-02" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2020-04-27" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-maps-tos-2020-05-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-ml-kit-tos-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license-fuchsia" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license-fuschia" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license-golang" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license-webm" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-patent-license-webrtc" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-playcore-sdk-tos-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-tos-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-tos-2014" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-tos-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-tos-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-google-tos-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gpl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-1.0-plus" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-2.0-adaptec" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-2.0-djvu" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-2.0-koterov" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-2.0-plus" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gpl-3.0-plus" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gradle-enterprise-sla-2022-11-" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gradle-enterprise-sla-2022-11-08" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gradle-tou-2022-01-13" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-graphics-gems" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-greg-roelofs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gregory-pietsch" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gretelai-sal-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gsap-standard-no-charge-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gsoap-1.3a" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gsoap-1.3b" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gtkbook" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gtpl-v1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gtpl-v2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gtpl-v3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gumroad-cl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gust-font-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gust-font-2006-09-30" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-gutenberg-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-gutmann" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-h2-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-hacking-license" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-hacos-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-happy-bunny" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-haskell-report" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hauppauge-firmware-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hauppauge-firmware-oem" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hazelcast-community-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hdf4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hdf5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hdparm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-helios-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-helix" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-henry-spencer-1999" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-here-disclaimer" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-here-proprietary" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hessla" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hfoil-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hidapi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-1.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-1.2" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-2.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-2.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hippocratic-3.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-historical" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-historical-ntp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-historical-sell-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-homebrewed" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hot-potato" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-houdini" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-houdini-project" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-hp" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-1986" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-enterprise-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-netperf" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-proliant-essentials" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-snmp-pp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-software-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-ux-java" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hp-ux-jre" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-doc-sell" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-export-us" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-export-us-acknowledgement" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-fenneberg-livingston" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-inria-imag" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-mit-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-netrek" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-pbmplus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-sell-mit-disclaimer-xserver" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-sell-regexpr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-sell-variant-mit-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-sell-variant-mit-disclaimer-rev" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-uc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hpnd-uc-export-us" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hs-regexp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hs-regexp-orig" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-html5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-httpget" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-huggingface-tos-20220915" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hugo" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hxd" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-hyperclova-x-seed-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ian-kaplan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ian-piumarta" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-as-is" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-data-server-2011" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-developerworks-community" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-developerworks-community-download" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-dhcp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-employee-written" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-glextrusion" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-icu" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-java-portlet-spec-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-jre" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-nwsc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-pibs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibm-sample" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ibmpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ibpp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ic-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ic-shared-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-icann-public" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-icot-free" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-idt-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-iec-code-components-eula" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ietf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ietf-trust" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ijg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ijg-2020" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ijg-short" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ilmid" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-imagemagick" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-imagen" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-imlib2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-indiana-extreme" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-indiana-extreme-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-infineon-free" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-1997-10" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2001-01" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2002-02" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2003-05" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2004-05" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2005-02" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2007-03" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-info-zip-2009-01" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-infonode-1.1" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-initial-developer-public" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-inner-net-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-inno-setup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-inria-compcert" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-inria-icesl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-inria-zelus" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-installsite" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-acpi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-bcl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-bsd-2-clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-bsd-export-control" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-code-samples" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-confidential" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-master-eula-sw-dev-2016" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-material" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-mcu-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-microcode" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-osl-1989" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-osl-1993" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-royalty-free" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-sample-source-code-2015" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-intel-scl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-interbase-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-iozone" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ipa-font" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ipca" - categories: - - "cla" -- id: "LicenseRef-scancode-iptc-2006" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-irfanview-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-isc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-iso-14496-10" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-iso-8879" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-iso-recorder" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-isotope-cla" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-issl-2018" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-issl-2022" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-itc-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-itu" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-itu-t" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-itu-t-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-itunes" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ja-sig" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jahia-1.3.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-jam" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jam-stapl" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jamon" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jason-mayes" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jasper-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jasper-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-java-app-stub" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-java-research-1.5" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-java-research-1.6" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jboss-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jdbm-1.00" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jdom" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jelurida-public-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-jetbrains-purchase-terms" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jetbrains-toolbox-open-source-3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jetbrains-toolbox-oss-3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jetty" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jetty-ccla-1.1" - categories: - - "cla" -- id: "LicenseRef-scancode-jgraph" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jgraph-general" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jide-sla" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jj2000" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jmagnetic" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-joinbase-cela-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-joplin-server-personal-v1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-josl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-jove" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jpegxr" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jpl-image" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jpnic-idnkit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jpnic-mdnkit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jprs-oscl-1.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jpython-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jquery-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jrunner" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jscheme" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jsel-2.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jsfromhell" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-json" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-json-js-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-json-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jsr-107-jcache-spec" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jsr-107-jcache-spec-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-jython" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kalle-kaukonen" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-karl-peterson" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kastrup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-katharos-0.1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-katharos-0.2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kazlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kde-accepted-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-kde-accepted-lgpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-keep-ee-2024" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-keith-rule" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kerberos" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kevan-stannard" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kevlin-henney" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-keypirinha" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kfgqpc-uthmanic-script-hafs" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-khronos" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-knuth-ctan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ko-man-page" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kreative-relay-fonts-free-1.2f" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kreative-relay-fonts-free-use-1.2f" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kubesphere-osl-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-kumar-robotics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-la-opt-nxp-v51-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lal-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lal-1.3" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lance-norskog-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lanl-bsd-3-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-larabie" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-latex2e" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-latex2e-translated-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lattice-osl-2017" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lavantech" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lbnl-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lcs-telegraphics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ldap-sdk-free-use" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ldpc-1994" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpc-1997" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpc-1999" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpgpl-1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpgpl-1a" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ldpm-1998" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-leap-motion-sdk-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lens-tos-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-leptonica" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lgpl-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpl-2.0-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpl-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpl-2.1-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpl-3.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpl-3.0-plus" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lgpllr" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lha" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libcap" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libgd-2018" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libgeotiff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libmib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libmng-2007" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libpbm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libpng" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libpng-1.6.35" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libpng-v2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-librato-exception" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libselinux-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libsrv-1.0.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libutil-david-nugent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-libzip" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-license-file-reference" - categories: - - "unknown" -- id: "LicenseRef-scancode-liferay-dxp-eula-2.0.0-2023-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-liferay-ee" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-liferay-marketplace-tos" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lil-1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-liliq-p-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-liliq-r-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-liliq-rplus-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lilo" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linotype-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linum" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linux-device-drivers" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linux-man-pages-1-para" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-linux-man-pages-2-para" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-linux-man-pages-copyleft-var" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-linux-openib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linuxbios" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-linuxhowtos" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-2-license-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-3.1-license-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-3.2-license-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-3.3-license-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-4-cla-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-4-license-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llama-license-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-llnl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-logica-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lontium-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-loop" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-losla" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.3a" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.3b" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lppl-1.3c" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lsi-proprietary-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ltxv-owl-2025-04-17" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ltxv-owl-2025-05-05" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lucent-pl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lucent-pl-1.02" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lucre" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lumisoft-mail-server" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-luxi" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lyubinskiy-dropdown" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lyubinskiy-popup-window" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-2006" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-2008" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-9.11-to-9.20" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-9.22" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-original" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-lzma-sdk-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-m-plus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-madwifi-dual" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-magaz" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mailprio" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-makeindex" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mame" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-man2html" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-manfred-klein-fonts-tos" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mapbox-tos-2021" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mapbox-tos-2024" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-markus-kuhn-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-markus-mummert-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-martin-birgmeier" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-marvell-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-marvell-firmware-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-matplotlib-1.3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-matt-gallagher-attribution" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mattermost-sal-2024" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-matthew-kwan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-matthew-welch-font-license" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mattkruse" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-max-mojo-community-20240828" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-maxmind-geolite2-eula-2019" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-maxmind-odl" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mcafee-tou" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mcphee-slideshow" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mcrae-pl-4-r53" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mdl-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediainfo-lib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-no-warranty" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-proprietary-2005" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-proprietary-2008" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-proprietary-2010" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-proprietary-2016" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mediatek-proprietary-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-melange" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mentalis" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-menuet64-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-merit-network-derivative" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-metageek-inssider-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-metamail" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-metrolink-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mgb-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mgopen-font-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-michael-barr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-michigan-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microchip-enc28j60-2009" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microchip-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microchip-pk2cmd-2009" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microchip-products-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microsoft-enterprise-library-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-microsoft-windows-rally-devkit" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mike95" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-minecraft-mod" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-minpack" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mips" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mir-os" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-1995" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-ack" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-addition" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-export-control" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-khronos-old" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-kyle-restrictions" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-license-1998" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-modern" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-nagy" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-no-advert-export-control" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-no-false-attribs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-no-trademarks" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-old-style" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-old-style-no-advert" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-old-style-sparse" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-proprietary" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-readme" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-specification-disclaimer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-synopsys" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-taylor-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-testregex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-veillard-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-with-modification-obligations" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mit-xfig" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mmixware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mod-dav-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-moderne-sala-2024" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-monetdb-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mongodb-sspl-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-monkeysaudio" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-moonshot-ai-modified-mit-2025" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-morbig-ieee-std-usage" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-motorola" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-motosoto-0.9.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mov-ai-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-moxa-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mozilla-gc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mozilla-ospl-1.0" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpeg-7" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpeg-iso" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpeg-ssg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpi-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpich" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mpl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mpl-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mpl-2.0-no-copyleft-exception" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ms-api-code-pack-net" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-ajax-supp-terms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-ajax-supplemental-terms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-mvc3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-mvc4" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-mvc4-extensions" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-software" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-tools-pre-release" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-web-optimization" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-web-optimization-framework" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-web-pages-2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-asp-net-web-pages-templates" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-azure-data-studio" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-azure-rtos-2020-05" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-azure-rtos-2020-07" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-azure-rtos-2023-05" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-azure-spatialanchors-2.9.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-capicom" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-cl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ms-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-ms-container-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-control-spy-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-data-tier-af-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-dev-services-2018-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-dev-services-agreement" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-developer-services-agreement" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-developer-services-agreement-2018-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-device-emulator-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-direct3d-d3d120n7-1.1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-directx-sdk-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-directx-sdk-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-dxsdk-d3dx-9.29.952.3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-edge-devtools-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-edge-webview2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-edge-webview2-fixed" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-enterprise-library-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-entity-framework-4.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-entity-framework-5" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-eula-win-script-host" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-exchange-server-2010-sp2-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-exchange-srv-2010-sp2-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-iis-container-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-iis-container-images-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-ilmerge" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-invisible-eula-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-jdbc-driver-40-sql-server" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-jdbc-driver-41-sql-server" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-jdbc-driver-60-sql-server" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-kinext-win-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-limited-community" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-limited-public" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-lpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-msn-webgrease" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-framework-4-supp-terms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-framework-4-supplemental-terms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-framework-deployment" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-library" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-library-2016-05" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-library-2018-11" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-library-2019-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-net-library-2020-09" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-nt-resource-kit" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-nuget" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-nuget-package-manager" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-office-extensible-file" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-office-system-programs-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-opus-patent-2012" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-patent-promise" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-patent-promise-mono" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-permissive-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-pl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-platform-sdk" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-pre-release-sla-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-programsynthesis-7.22.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-python-vscode-pylance-2021" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-reactive-extensions-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-refl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-remote-ndis-usb-kit" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-research-license-terms" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-research-shared-source" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-rl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ms-rndis" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-rsl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-silverlight-3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-specification" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-sql-server-compact-4.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-sql-server-data-tools" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-sspl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-sysinternals-sla" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-testplatform-17.0.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-ttf-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-typescript-msbuild-4.1.4" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-2008-runtime" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-2010-runtime" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-2015-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-cpp-2015-runtime" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-studio-2017" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-studio-2017-tools" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-studio-code" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-studio-code-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-visual-studio-code-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-vs-addons-ext-17.2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-web-developer-tools-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-win-container-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-win-sdk-server-2008-net-3.5" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-container-base-image-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-driver-kit" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-identity-foundation" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-os-2018" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-sdk-server-2008-net-3.5" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-sdk-win10" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-sdk-win10-net-6" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-sdk-win7-net-4" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-server-2003-ddk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-windows-server-2003-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-ws-routing-spec" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-xamarin-uitest3.2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ms-xml-core-4.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-msdn-magazine-sample-code-2007" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-msj-sample-code" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-msntp" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-msppl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mstar-2007" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mstar-2012" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mtll" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mtx-licensing-statement" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mui-x-eula-2024" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mulanpsl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mulanpsl-1.0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mulanpsl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mulanpsl-2.0-en" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mulanpubl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mulanpubl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mule-source-1.1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mule-source-1.1.4" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-mulle-kybernetik" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-multics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mut-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mvt-1.1" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mx4j" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-mxparser-dual-2024-05-19" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-n8n-ee-2022" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-naist-2003" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nanoporetech-public-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nasa-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-naughter" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-naumen" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nbpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ncbi" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ncgl-uk-2.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ncsa-httpd-1995" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nero-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-net-snmp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netapp-sdk-aug2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netcat" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netcdf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netcomponents" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netdata-ncul1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netron" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-netronome-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-network-time-protocol" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-new-relic" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-new-relic-1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-newlib-historical" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-newran" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-newsletr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-newton-king-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-nexb-eula-saas-1.1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nexb-ssla-1.1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ngpl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ngrep" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nicta-psl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-niels-ferguson" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nilsson-historical" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nist-nvd-api-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nist-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nist-pd-fallback" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nist-software" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nist-srd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nlod-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nlod-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nlpl" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-no-license" - categories: - - "unknown" -- id: "LicenseRef-scancode-node-js" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nokos-1.0a" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-non-violent-4.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-non-violent-7.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nonexclusive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nortel-dasa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-northwoods-evaluation-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-northwoods-sla-2021" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-northwoods-sla-2024" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nosl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-nosl-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-notre-dame" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-noweb" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-npl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-npl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-nrl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nrl-permission" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ntia-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ntlm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ntp-0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ntpl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ntpl-origin" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nucleusicons-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-numerical-recipes-notice" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nunit-v2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-2002" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-apex-sdk-eula-2011" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-cuda-supplement-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-dlc-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-gov" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-isaac-eula-2019.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-model-training-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-nccl-sla-2016" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-ngx-eula-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-open-model-2025-04-28" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-sdk-12.8" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-sdk-eula-v0.11" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nvidia-video-codec-agreement" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nwhm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxlog-public-license-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-firmware-patent" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-mc-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-microcontroller-proprietary" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-microctl-proprietary" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nxp-warranty-disclaimer" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nysl-0.9982" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-nysl-0.9982-jp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-o-uda-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-o-young-jong" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oasis-ipr-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oasis-ipr-policy-2014" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oasis-ws-security-spec" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-obsidian-tos-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ocamlpro-nc-v1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ocb-non-military-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ocb-open-source-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ocb-patent-openssl-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-occt-pl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-oclc-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-oclc-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ocsl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-octl-0.21" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oculus-sdk" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-oculus-sdk-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oculus-sdk-3.5" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odb-cpl" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odb-fpl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odb-ncuel" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-odbl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-odc-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-odc-by-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odin-2000" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odmg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odoo-eel-1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-odoo-pl-1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-offis" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.0-no-rfn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.0-rfn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.1-no-rfn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofl-1.1-rfn" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofrak-community-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofrak-community-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ofrak-pro-1.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogc-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogc-2006" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogc-document-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogdl-taiwan-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-1.0a" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-canada-2.0-fr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-uk-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-uk-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-uk-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ogl-wpd-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ohdl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-okl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-oknosoft-2021" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-olf-ccla-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-olf-icla-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-olfl-1.3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oll-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-omg-bpmn-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-on2-patent" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-onezoom-np-sal-v1" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ooura-2001" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-open-aleph-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-open-diameter" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-open-public" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-open-webui-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-open-weights-permissive-1.0.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openai-tou-20230314" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openai-tou-20241211" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openatom-model-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opencarp-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opengroup" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-opengroup-pl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openi-pl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openldap-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openldap-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openldap-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openldap-1.4" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.0.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.2.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.6" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.7" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openldap-2.8" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openmap" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openmarket-fastcgi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openmdw-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opennetcf-shared-source" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openorb-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openpbs-2.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-openpub" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opensaml-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openssh" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openssl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openssl-ssleay" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openvision" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openvpn-as-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-openwall-md5-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opera-eula-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opera-eula-eea-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opera-widget-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-opl-uk-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opml-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opnl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-opnl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-java-platform-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-java-platform-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-javaee" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-javase-javafx-2012" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-javase-javafx-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bcl-jsse-1.0.3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-bsd-no-nuclear" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-code-samples-bsd" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-commercial-database-11g2" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-commercial-db-11g2" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-devtools-vsnet-dev" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-entitlement-05-15" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-free-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-gftc-2023-06-12" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-java-ee-sdk-2010" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-master-agreement" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-nftc-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-otn-javase-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-sql-developer" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-vb-puel-12" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oracle-web-sites-tou" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oreilly-notice" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-os-maintenance-fee-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-os4d-1.1-apache-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oset-pl-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osetpl-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osf-1990" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-osgi-spec-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-osl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osl-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osl-2.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-osl-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ossn-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-osvdb" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oswego-concurrent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-other-copyleft" - categories: - - "generic" -- id: "LicenseRef-scancode-other-permissive" - categories: - - "generic" -- id: "LicenseRef-scancode-otn-dev-dist" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-dev-dist-2009" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-dev-dist-2014" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-dev-dist-2016" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-early-adopter-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-early-adopter-development" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otn-standard-2014-09" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-otnla-2016-11-30" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owal-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owf-cla-1.0-copyright" - categories: - - "cla" -- id: "LicenseRef-scancode-owf-cla-1.0-copyright-patent" - categories: - - "cla" -- id: "LicenseRef-scancode-owfa-1-0-patent-only" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owfa-1.0" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owfa-1.0-2023-05" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owfa-1.0-patent-only" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owl-0.9.4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-owtchart" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oxygen-xml-dev-eula-2025" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-oxygen-xml-webhelp-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ozplb-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ozplb-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-padl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paint-net" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paolo-messina-2000" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paraview-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-parity-6.0.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-parity-7.0.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-passive-aggressive" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-patent-disclaimer" - categories: - - "generic" -- id: "LicenseRef-scancode-paul-hsieh-derivative" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paul-hsieh-exposition" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paul-mackerras" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paul-mackerras-binary" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paul-mackerras-new" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paul-mackerras-simplified" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paulo-soares" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-paypal-sdk-2013-2016" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pbl-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pcre" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pd-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pd-programming" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pddl-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pdf-creator-pilot" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pdl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-perl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-peter-deutsch-document" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pfe-proprietary-notice" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pftijah-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-pftus-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-phaser-academic" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-phaser-ccp4" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-phaser-phenix" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-phil-bunce" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-philippe-de-muyter" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-philips-proprietary-notice-2000" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-philips-proprietary-notice2000" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-phorum-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-php-2.0.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-php-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-php-3.01" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pine" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pipedream-sal-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pivotal-tou" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pixabay-content" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pixar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-planet-source-code" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-plastimatch-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-playground-v2-community" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-plural-20211124" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pml-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pngsuite" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pnmstitch" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-politepix-pl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-defensive-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-free-trial-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-internal-use-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-noncommercial-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-perimeter-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-shield-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-small-business-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-polyform-strict-1.0.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-postgresql" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-postman-tos-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-powervr-tools-software-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ppl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ppp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-proconx-modbus-rev4" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-proprietary" - categories: - - "generic" -- id: "LicenseRef-scancode-proprietary-license" - categories: - - "generic" -- id: "LicenseRef-scancode-prosperity-1.0.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-prosperity-2.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-prosperity-3.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-protobuf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psf-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psf-3.7.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psfrag" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psion-s3aemul" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psion-siemul" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psion-wrkaemul" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psutils" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-psytec-freesoft" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-public-domain" - categories: - - "generic" -- id: "LicenseRef-scancode-public-domain-disclaimer" - categories: - - "generic" -- id: "LicenseRef-scancode-punycode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-purdue-bsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pybench" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pycrypto" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-pygres-2.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-python" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-python-2.0.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-python-cwi" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-python-ldap" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qaplug" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qca-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qca-technology" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qhull" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-qlogic-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qlogic-microcode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-qpl-1.0-inria-2004" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-qpopper" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qt-commercial-1.1" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qt-commercial-agreement-4.4.1" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qti-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-quadratic-sal-2024" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qualcomm-iso" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qualcomm-turing" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-quickfix-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-quicktime" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-quin-street" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-quirksmode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qwen-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-qwt-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rackspace" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-radiance-sl-v1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-radiance-sl-v2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-radvd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ralf-corsepius" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ralink-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rar-winrar-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rcsl-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rcsl-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rdisc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-reading-godiva-2010" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-realm-platform-extension-2017" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-red-hat-attribution" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-red-hat-bsd-simplified" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-red-hat-logos" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-red-hat-trademarks" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-redis-source-available-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-redpanda-community-la" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-regexp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-reportbug" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-repoze" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-research-disclaimer" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-responsible-ai-source-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-responsible-ai-source-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-retentioneering-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-retype-3.7.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rh-eula" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rh-eula-apache2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rh-eula-gpl2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rh-eula-lgpl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rh-standard-eula-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rh-ubi-eula-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ricebsd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-richard-black" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ricoh-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ril-2019" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-riverbank-sip" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-robert-hubley" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rockchip-proprietary-2019" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rockchip-proprietary-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rockchip-proprietary-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rocket-master-terms-2022" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rogue-wave" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-root-cert-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rpl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rpl-1.5" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rpsl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-rsa-1990" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-cryptoki" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-demo" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-md2" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-md4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-md5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsa-proprietary" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rsalv2" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rtools-util" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ruby" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ruby-pty" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rubyencoder-commercial" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rubyencoder-loader" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rute" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-rwth-returnn-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ryszard-szopa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-s-lab-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-saas-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-saf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-safecopy-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-salesforce-ai-aup-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-salesforce-ai-ethics-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-salesforce-au-external-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-salesforcesans-font" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-samba-dc-1.0" - categories: - - "cla" -- id: "LicenseRef-scancode-san-francisco-font" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sandeep" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sash" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sata" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sax-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sax-pd-2.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-saxix-mit" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-saxpath" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sbia-b" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scancode-acknowledgment" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scanlogd-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scansoft-1.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scea-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-schemereport" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scilab-en" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scilab-en-2005" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scilab-fr" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scintilla" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scola-en" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scola-fr" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scribbles" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-script-asylum" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-script-nikhilk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scrub" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-scsl-2.8" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-scsl-3.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-scylladb-sla-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-secret-labs-2011" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-see-license" - categories: - - "unknown" -- id: "LicenseRef-scancode-selinux-nsa-declaration-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-selv1" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-semaphore-ee-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-semgrep-registry" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-semgrep-rules-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sencha-commercial" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sencha-commercial-3.17" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sencha-commercial-3.9" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sendmail" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sendmail-8.23" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-sendmail-open-source-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-service-comp-arch" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sfl-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgi-cid-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgi-freeb-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgi-freeb-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgi-fslb-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgi-glx-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sglib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgmlug" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sgp4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sh-cla-1.1" - categories: - - "cla" -- id: "LicenseRef-scancode-shavlik-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-shital-shah" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-shl-0.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-shl-0.51" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-shopify-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-siesta-academic-individuals" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-siesta-computer-centres" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-silicon-image-2007" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-simpl-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-simpl-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-six-labors-split-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-skip-2014" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-sl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sleepycat" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-slf4j-2005" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-slf4j-2008" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-slint-commercial-2.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-slint-royalty-free-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-slysoft-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-smail-gpl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-smartlabs-freeware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-smppl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-smsc-non-commercial-2012" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snia" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-snmp4j-smi" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snort-subscriber-rules-3.1" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snowplow-cla-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snowplow-lula-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snowplow-person-academic-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-snprintf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-socketxx-2003" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sofa" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-softerra-ldap-browser-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-softfloat" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-softfloat-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-softfloat-2c" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-softsurfer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-solace-software-eula-2020" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-soml-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-sonar-sal-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-soundex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sourcegraph-enterprise-2018" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-spark-jive" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sparky" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-speechworks-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-spl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-splunk-3pp-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-splunk-mint-tos-2018" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-splunk-sla" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-square-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-squeak" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-srgb" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ssh-keyscan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ssleay" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ssleay-windows" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-st-bsd-restricted" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-st-mcd-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stability-ai-community-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stability-ai-nc-2023-12-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stable-diffusion-2022-08-22" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-standard-ml-nj" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stanford-mrouted" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-stanford-pvrg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-statamic-2022" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-statewizard" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-stax" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-stlport-2000" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stlport-4.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stmicro-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stmicroelectronics-centrallabs" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stmicroelectronics-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stream-benchmark" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-stu-nicholls" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sudo" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sugarcrm-1.1.3" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-11-06" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-11-07" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-11-08" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-j2re-1.2.x" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-j2re-1.4.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-j2re-1.4.x" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-j2re-5.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-java-servlet-imp-2.1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-javahelp" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-jimi-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-jre6" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-jsmq" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-opendmk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-openjdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-sdk-1.3" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-sdk-1.4.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-sdk-5.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-sdk-6.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bcl-web-start" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bsd-extra" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-bsd-no-nuclear" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-cc-pp-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-communications-api" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-ejb-spec-2.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-ejb-spec-3.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-entitlement-03-15" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-entitlement-jaf" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-glassfish" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-iiop" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-java-transaction-api" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-java-web-services-dev-1.6" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-java-web-services-dev-pack-1.6" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-javamail" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-jdl-jai-1.1.x" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-jsr-spec-04-2006" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-jta-spec-1.0.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-jta-spec-1.0.1b" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-no-high-risk-activities" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-ppp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-ppp-2000" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-project-x" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-prop-non-commercial" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-proprietary-jdk" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-rpc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-sdk-spec-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-sissl-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-sissl-1.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-sissl-1.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-source" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sun-ssscfr-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-sunpro" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sunsoft" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-supervisor" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sustainable-use-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-svndiff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-swig" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-swl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-swrule" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-sybase" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-symlinks" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-symphonysoft" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-synopsys-attribution" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-synopsys-mit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-synthesis-toolkit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-engine-public" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-2.1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-2.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-amp-t-kernel" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-amp-tkse" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-smp-t-kernel" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-smp-tkse" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-t-license-tkse" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-takao-abe" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-takuya-ooura" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-taligent-jdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tanuki-community-sla-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tanuki-community-sla-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tanuki-community-sla-1.2" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tanuki-community-sla-1.3" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tanuki-development" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tanuki-maintenance" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tapr-ohl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tatu-ylonen" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tcg-spec-license-v1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tcg-spec-license-v2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tcl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tcp-wrappers" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-teamdev-services" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tekhvc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-teleport-ce-2024" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-telerik-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tenable-nessus" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tencent-hunyuan-3d-2.0-cla" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-term-readkey" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tested-software" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tex-live" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tfl" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tgc-spec-license-v2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tgppl-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-the-stack-tos-2023-07" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-things-i-made-public-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-thirdeye" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-thomas-bandt" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-thor-pl" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-threeparttable" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ti-broadband-apps" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ti-linux-firmware" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ti-restricted" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tidy" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tiger-crypto" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tigra-calendar-3.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tigra-calendar-4.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tim-janik-2003" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-timestamp-picker" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tizen-sdk" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tmate" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tongyi-qianwen-2023" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-toppers-educational" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-toppers-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-torque-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tosl" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tpdl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tpl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-tpl-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-trademark-notice" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-trainy-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-trca-odl-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-treeview-developer" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-treeview-distributor" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-treeware-option-1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-treeware-option-2" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tremaru" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-trendmicro-cl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-triptracker" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-truecrypt-3.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-trustedqsl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-trustonic-proprietary-2013" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tsl-2018" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tsl-2020" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tso-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ttcl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ttf2pt1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ttwl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ttyp0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tu-berlin" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tu-berlin-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-tumbolia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-twisted-snmp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-txl-10.5" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ubc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ubuntu-font-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ucar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ucl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ugui" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ulem" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-umich-merit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-un-cefact-2016" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unbuntu-font-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-data-software" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-dfs-2015" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-dfs-2016" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-icu-58" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-mappings" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-tou" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-ucd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unicode-v3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unixcrypt" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unknown" - categories: - - "unknown" -- id: "LicenseRef-scancode-unknown-license-reference" - categories: - - "unknown" -- id: "LicenseRef-scancode-unknown-spdx" - categories: - - "unknown" -- id: "LicenseRef-scancode-unlicense" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unlicense-libtelnet" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unlicense-libwhirlpool" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unpbook" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unpublished-source" - categories: - - "generic" -- id: "LicenseRef-scancode-unrar" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unrar-v3" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unsplash" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-unstated" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-uofu-rfpl" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-uoi-ncsa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-upl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-urt-rle" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-us-govt-geotranform" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-us-govt-public-domain" - categories: - - "generic" -- id: "LicenseRef-scancode-us-govt-unlimited-rights" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-usrobotics-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-utah-csl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-utopia" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vaadin-cvdl-4.0" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vanderbilt-sla-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vbaccelerator" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vcalendar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-verbatim-manual" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-verisign" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vhfpl-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vic-metcalfe-pd" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vicomsoft-software" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vim" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vince" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-visual-idiot" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-visual-numerics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vita-nuova-liberal" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vitesse-prop" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vixie-cron" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vnc-viewer-ios" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-volatility-vsl-v1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-volla-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vostrom" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vpl-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vpl-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-vs10x-code-map" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vsl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vuforia-2013-07-29" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-vvvvvv-scl-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-03-bsd-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-community-cla" - categories: - - "cla" -- id: "LicenseRef-scancode-w3c-community-final-spec" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-docs-19990405" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-docs-20021231" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-documentation" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-software-19980720" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-software-20021231" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-software-2023" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-software-doc-20150513" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3c-test-suite" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-w3m" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wadalab" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-warranty-disclaimer" - categories: - - "generic" -- id: "LicenseRef-scancode-waterfall-feed-parser" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-westhawk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-whistle" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-whitecat" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-whosonfirst-license" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wide-license" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-widget-workshop" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wifi-alliance" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-william-alexander" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wince-50-shared-source" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-windriver-commercial" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wingo" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-winidea-sdk-2025" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wink" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-winzip-eula" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-winzip-self-extractor" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wol" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-woodruff-2002" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wordnet" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wrox" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wrox-download" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ws-addressing-spec" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ws-policy-specification" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ws-trust-specification" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wsuipa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wtfnmfpl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wtfpl-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wtfpl-2.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wthpl-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wwl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wxwidgets" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-wxwindows" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-wxwindows-free-doc-3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-wxwindows-r-3.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-wxwindows-u-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-acer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-adobe" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-adobe-dec" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-bitstream" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-dec1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-dec2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-doc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-dsc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-fsf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-hanson" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-ibm" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-x11-keith-packard" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-lucent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-lucent-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-oar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-opengl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-opengroup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-quarterdeck" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-r75" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-realmode" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-sg" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-stanford" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-swapped" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-tektronix" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-tiff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-x11r5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-xconsortium" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11-xconsortium-veillard" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-x11r5-authors" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xceed-community-2021" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xdebug-1.03" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xfree86-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xfree86-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xilinx-2016" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xinetd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xiph-patent" - categories: - - "patent-license" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xkeyboard-config-zinoviev" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xming" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xmldb-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xmos-commercial-2017" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xmos-public-1" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xnet" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xskat" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xxd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-xzoom" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yahoo-browserplus-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yahoo-messenger-eula" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yale-cas" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yensdesign" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yolo-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-yolo-2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ypl-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-ypl-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-zapatec-calendar" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zed" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zeebe-community-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zeebe-community-1.1" - categories: - - "source-available" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zeeff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zend-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zendesk-appdev-api-2022" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zeusbench" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zhorn-stickies" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zimbra-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-zimbra-1.4" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "LicenseRef-scancode-zipeg" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-dup-addendum" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-duplication-addendum" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-end-user-enterprise" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-end-user-workstation" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-enterprise" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-ziplist5-geocode-workstation" - categories: - - "commercial" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zlib-acknowledgement" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zpl-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zpl-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zpl-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zpl-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zsh" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zugferd-datenformat-2.2.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zuora-software" - categories: - - "permissive" - - "include-in-notice-file" -- id: "LicenseRef-scancode-zveno-research" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Linux-OpenIB" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Linux-man-pages-1-para" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Linux-man-pages-copyleft" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Linux-man-pages-copyleft-2-para" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Linux-man-pages-copyleft-var" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Lucida-Bitmap-Fonts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIPS" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-CMU" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-Click" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-Festival" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-Khronos-old" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-Modern-Variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-Wu" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-advertising" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-enna" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-feh" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-open-group" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MIT-testregex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MITNFA" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MMIXware" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MPEG-SSG" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MPL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MPL-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MPL-2.0-no-copyleft-exception" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MS-LPL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MS-PL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MS-RL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MTLL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Mackerras-3-Clause" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Mackerras-3-Clause-acknowledgment" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MakeIndex" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Martin-Birgmeier" - categories: - - "permissive" - - "include-in-notice-file" -- id: "McPhee-slideshow" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Minpack" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MirOS" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Motosoto" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "MulanPSL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "MulanPSL-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Multics" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Mup" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NAIST-2003" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NASA-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NBPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NCBI-PD" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "NCGL-UK-2.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "NCL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NCSA" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NGPL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NICTA-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NIST-PD" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "NIST-PD-fallback" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NIST-Software" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NLOD-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NLOD-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NLPL" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "NOSL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NPL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NPOSL-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "NRL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NTIA-PD" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "NTP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NTP-0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Naumen" - categories: - - "permissive" - - "include-in-notice-file" -- id: "NetCDF" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Newsletr" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Nokia" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Noweb" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "O-UDA-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OAR" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OCCT-PL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OCLC-2.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "ODC-By-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ODbL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OFFIS" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OFL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OFL-1.0-RFN" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OFL-1.0-no-RFN" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OFL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OFL-1.1-RFN" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OFL-1.1-no-RFN" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGC-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGDL-Taiwan-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGL-Canada-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGL-UK-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGL-UK-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGL-UK-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OGTSL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OLDAP-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OLDAP-1.2" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OLDAP-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OLDAP-1.4" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OLDAP-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.0.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.2.2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.6" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.7" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLDAP-2.8" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OLFL-1.3" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OML" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OPL-UK-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OPUBL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OSET-PL-2.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OSL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OSL-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OSL-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OSL-2.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OSL-3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OpenPBS-2.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "OpenSSL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OpenSSL-standalone" - categories: - - "permissive" - - "include-in-notice-file" -- id: "OpenVision" - categories: - - "permissive" - - "include-in-notice-file" -- id: "PADL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "PDDL-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "PHP-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "PHP-3.01" - categories: - - "permissive" - - "include-in-notice-file" -- id: "PPL" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "PSF-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Parity-6.0.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Parity-7.0.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Pixar" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Plexus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "PolyForm-Noncommercial-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "PolyForm-Small-Business-1.0.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "PostgreSQL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Python-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Python-2.0.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "QPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "QPL-1.0-INRIA-2004" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Qhull" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "RHeCos-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "RPL-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "RPL-1.5" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "RPSL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "RSA-MD" - categories: - - "permissive" - - "include-in-notice-file" -- id: "RSCPL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Rdisc" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Ruby" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Ruby-pty" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SAX-PD" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "SAX-PD-2.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "SCEA" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SGI-B-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "SGI-B-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SGI-B-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SGI-OpenGL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SGP4" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SHL-0.5" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SHL-0.51" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SISSL" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "SISSL-1.2" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "SL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SMAIL-GPL" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "SMLNJ" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SMPPL" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "SNIA" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "SOFA" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "SPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "SSH-OpenSSH" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SSH-short" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SSLeay-standalone" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SSPL-1.0" - categories: - - "source-available" - - "include-in-notice-file" -- id: "SUL-1.0" - categories: - - "free-restricted" - - "include-in-notice-file" -- id: "SWL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Saxpath" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SchemeReport" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Sendmail" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Sendmail-8.23" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Sendmail-Open-Source-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SimPL-2.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Sleepycat" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Soundex" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Spencer-86" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Spencer-94" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Spencer-99" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SugarCRM-1.1.3" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Sun-PPP" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Sun-PPP-2000" - categories: - - "permissive" - - "include-in-notice-file" -- id: "SunPro" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Symlinks" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "TAPR-OHL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TCL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TCP-wrappers" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TGPPL-1.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TMate" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TORQUE-1.1" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TOSL" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TPDL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "TTWL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TTYP0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TU-Berlin-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TU-Berlin-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TermReadKey" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ThirdEye" - categories: - - "permissive" - - "include-in-notice-file" -- id: "TrustedQSL" - categories: - - "permissive" - - "include-in-notice-file" -- id: "UCAR" - categories: - - "permissive" - - "include-in-notice-file" -- id: "UCL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "UMich-Merit" - categories: - - "permissive" - - "include-in-notice-file" -- id: "UPL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "URT-RLE" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Ubuntu-font-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Unicode-3.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Unicode-DFS-2015" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Unicode-DFS-2016" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Unicode-TOU" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "UnixCrypt" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Unlicense" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "Unlicense-libtelnet" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "Unlicense-libwhirlpool" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "VOSTROM" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "VSL-1.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Vim" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "W3C" - categories: - - "permissive" - - "include-in-notice-file" -- id: "W3C-19980720" - categories: - - "permissive" - - "include-in-notice-file" -- id: "W3C-20150513" - categories: - - "permissive" - - "include-in-notice-file" -- id: "WTFPL" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "Watcom-1.0" - categories: - - "proprietary-free" - - "include-in-notice-file" -- id: "Widget-Workshop" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Wsuipa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "X11" - categories: - - "permissive" - - "include-in-notice-file" -- id: "X11-distribute-modifications-variant" - categories: - - "permissive" - - "include-in-notice-file" -- id: "X11-swapped" - categories: - - "permissive" - - "include-in-notice-file" -- id: "XFree86-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "XSkat" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Xdebug-1.03" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Xerox" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Xfig" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Xnet" - categories: - - "permissive" - - "include-in-notice-file" -- id: "YPL-1.0" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "YPL-1.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "ZPL-1.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ZPL-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ZPL-2.1" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Zed" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Zeeff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Zend-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "Zimbra-1.3" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Zimbra-1.4" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "Zlib" - categories: - - "permissive" - - "include-in-notice-file" -- id: "any-OSI" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "any-OSI-perl-modules" - categories: - - "unstated-license" - - "include-in-notice-file" -- id: "bcrypt-Solar-Designer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "blessing" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "bzip2-1.0.6" - categories: - - "permissive" - - "include-in-notice-file" -- id: "check-cvs" - categories: - - "permissive" - - "include-in-notice-file" -- id: "checkmk" - categories: - - "permissive" - - "include-in-notice-file" -- id: "copyleft-next-0.3.0" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "copyleft-next-0.3.1" - categories: - - "copyleft" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "curl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "cve-tou" - categories: - - "permissive" - - "include-in-notice-file" -- id: "diffmark" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "dtoa" - categories: - - "permissive" - - "include-in-notice-file" -- id: "dvipdfm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "eGenix" - categories: - - "permissive" - - "include-in-notice-file" -- id: "etalab-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "fwlw" - categories: - - "permissive" - - "include-in-notice-file" -- id: "gSOAP-1.3b" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "generic-xts" - categories: - - "permissive" - - "include-in-notice-file" -- id: "gnuplot" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "gtkbook" - categories: - - "permissive" - - "include-in-notice-file" -- id: "hdparm" - categories: - - "permissive" - - "include-in-notice-file" -- id: "iMatix" - categories: - - "permissive" - - "include-in-notice-file" -- id: "jove" - categories: - - "permissive" - - "include-in-notice-file" -- id: "libpng-1.6.35" - categories: - - "permissive" - - "include-in-notice-file" -- id: "libpng-2.0" - categories: - - "permissive" - - "include-in-notice-file" -- id: "libselinux-1.0" - categories: - - "public-domain" - - "include-in-notice-file" -- id: "libtiff" - categories: - - "permissive" - - "include-in-notice-file" -- id: "libutil-David-Nugent" - categories: - - "permissive" - - "include-in-notice-file" -- id: "lsof" - categories: - - "permissive" - - "include-in-notice-file" -- id: "magaz" - categories: - - "permissive" - - "include-in-notice-file" -- id: "mailprio" - categories: - - "permissive" - - "include-in-notice-file" -- id: "man2html" - categories: - - "permissive" - - "include-in-notice-file" -- id: "metamail" - categories: - - "permissive" - - "include-in-notice-file" -- id: "mpi-permissive" - categories: - - "permissive" - - "include-in-notice-file" -- id: "mpich2" - categories: - - "permissive" - - "include-in-notice-file" -- id: "mplus" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ngrep" - categories: - - "permissive" - - "include-in-notice-file" -- id: "pkgconf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "pnmstitch" - categories: - - "permissive" - - "include-in-notice-file" -- id: "psfrag" - categories: - - "permissive" - - "include-in-notice-file" -- id: "psutils" - categories: - - "permissive" - - "include-in-notice-file" -- id: "python-ldap" - categories: - - "permissive" - - "include-in-notice-file" -- id: "radvd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "snprintf" - categories: - - "permissive" - - "include-in-notice-file" -- id: "softSurfer" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ssh-keyscan" - categories: - - "permissive" - - "include-in-notice-file" -- id: "swrule" - categories: - - "permissive" - - "include-in-notice-file" -- id: "threeparttable" - categories: - - "permissive" - - "include-in-notice-file" -- id: "ulem" - categories: - - "permissive" - - "include-in-notice-file" -- id: "w3m" - categories: - - "permissive" - - "include-in-notice-file" -- id: "wwl" - categories: - - "permissive" - - "include-in-notice-file" -- id: "wxWindows" - categories: - - "copyleft-limited" - - "include-in-notice-file" - - "include-source-code-offer-in-notice-file" -- id: "xinetd" - categories: - - "permissive" - - "include-in-notice-file" -- id: "xkeyboard-config-Zinoviev" - categories: - - "permissive" - - "include-in-notice-file" -- id: "xlock" - categories: - - "permissive" - - "include-in-notice-file" -- id: "xpp" - categories: - - "permissive" - - "include-in-notice-file" -- id: "xzoom" - categories: - - "permissive" - - "include-in-notice-file" -- id: "zlib-acknowledgement" - categories: - - "permissive" - - "include-in-notice-file" diff --git a/resolutions.yml b/resolutions.yml deleted file mode 100644 index a776c878..00000000 --- a/resolutions.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -# This file contains global resolutions for issues and rule violations occurring in the OSS scan. -# These resolutions are applied to all scanned projects, so make sure to only -# add resolutions that are not specific to a project. Project specific -# resolutions can be configured in the .ort.yml file of the project. -# -# For detailed documentation on this file, see -# https://github.com/oss-review-toolkit/ort/blob/main/docs/config-file-resolutions-yml.md. - -issues: - - message: ".*DownloadException: Download failed for 'Maven:android..*" - reason: "CANT_FIX_ISSUE" - comment: "Android SDK Maven artifacts commonly neither declare an SCM tag nor have sources artifacts published." - - message: ".*DownloadException: No source artifact URL provided for 'Maven:com.android..*" - reason: "CANT_FIX_ISSUE" - comment: "Android SDK Maven artifacts commonly neither declare an SCM tag nor have sources artifacts published." From b7be2b182dcabb1440b255df87e25cb2f566e884 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:45:58 +0200 Subject: [PATCH 26/63] Update license.yaml --- .github/workflows/license.yaml | 104 +++++++++++++++++++++++++-------- 1 file changed, 80 insertions(+), 24 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 1a1196e6..2933e58e 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License" + default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: @@ -99,16 +99,31 @@ jobs: [[ -f "go.mod" ]] && echo "has-go=true" >> "$GITHUB_OUTPUT" || echo "has-go=false" >> "$GITHUB_OUTPUT" [[ -f "package.json" ]] && echo "has-node=true" >> "$GITHUB_OUTPUT" || echo "has-node=false" >> "$GITHUB_OUTPUT" [[ -f "requirements.txt" || -f "pyproject.toml" ]] && echo "has-python=true" >> "$GITHUB_OUTPUT" || echo "has-python=false" >> "$GITHUB_OUTPUT" + - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-go == 'true' }} + name: Setup Go + id: go-setup + continue-on-error: true + uses: actions/setup-go@v5 + with: + go-version: "1.22" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-go == 'true' }} name: Go license policy check id: go-license-check continue-on-error: true shell: bash run: | + set -o pipefail GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" | tr ';' ',')" + GO_LICENSE_LOG="$RUNNER_TEMP/go-license-check.log" mkdir -p "$RUNNER_TEMP/bin" GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses/v2@latest - "$RUNNER_TEMP/bin/go-licenses" check ./... --allowed_licenses="$GO_ALLOWED_LICENSES" + module_path="$(go list -m -f '{{.Path}}' 2>/dev/null || true)" + check_target="./..." + [[ -n "$module_path" ]] && check_target="${module_path}/..." + "$RUNNER_TEMP/bin/go-licenses" check "$check_target" --allowed_licenses="$GO_ALLOWED_LICENSES" 2>&1 | tee "$GO_LICENSE_LOG" + status=${PIPESTATUS[0]} + echo "issues-file=$GO_LICENSE_LOG" >> "$GITHUB_OUTPUT" + exit "$status" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-node == 'true' }} name: Setup Node id: node-setup @@ -122,6 +137,8 @@ jobs: continue-on-error: true shell: bash run: | + set -o pipefail + NODE_LICENSE_LOG="$RUNNER_TEMP/node-license-check.log" if [[ -f "yarn.lock" ]]; then corepack enable yarn install --immutable @@ -133,7 +150,10 @@ jobs: else npm install --ignore-scripts --no-audit --no-fund fi - npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" 2>&1 | tee "$NODE_LICENSE_LOG" + status=${PIPESTATUS[0]} + echo "issues-file=$NODE_LICENSE_LOG" >> "$GITHUB_OUTPUT" + exit "$status" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-python == 'true' }} name: Setup Python id: python-setup @@ -147,6 +167,8 @@ jobs: continue-on-error: true shell: bash run: | + set -o pipefail + PYTHON_LICENSE_LOG="$RUNNER_TEMP/python-license-check.log" python -m venv .license-venv . .license-venv/bin/activate python -m pip install --upgrade pip @@ -162,7 +184,10 @@ jobs: fi python -m pip install pip-licenses - pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" 2>&1 | tee "$PYTHON_LICENSE_LOG" + status=${PIPESTATUS[0]} + echo "issues-file=$PYTHON_LICENSE_LOG" >> "$GITHUB_OUTPUT" + exit "$status" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks @@ -180,34 +205,65 @@ jobs: [[ "$python_setup_outcome" == "failure" || "$python_outcome" == "failure" ]] && failed=true echo "license-check-failed=$failed" >> "$GITHUB_OUTPUT" + issues_file="$RUNNER_TEMP/license-issues.md" + : > "$issues_file" + + if [[ "$go_outcome" == "failure" ]]; then + echo "#### Go" >> "$issues_file" + if [[ -f "${{ steps.go-license-check.outputs.issues-file }}" ]]; then + rg -N "Forbidden license|not have module info|some errors occurred|^E[0-9]{4}|^F[0-9]{4}" "${{ steps.go-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + fi + [[ ! -s "$issues_file" || "$(tail -n 1 "$issues_file")" == "#### Go" ]] && echo "- Go check failed. See job logs for details." >> "$issues_file" + echo >> "$issues_file" + fi + + if [[ "$node_setup_outcome" == "failure" || "$node_outcome" == "failure" ]]; then + echo "#### Node" >> "$issues_file" + if [[ "$node_setup_outcome" == "failure" ]]; then + echo "- Node setup failed (runtime/tooling install)." >> "$issues_file" + fi + if [[ -f "${{ steps.node-license-check.outputs.issues-file }}" ]]; then + rg -N "onlyAllow|fail|error|license" "${{ steps.node-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + fi + [[ "$(tail -n 1 "$issues_file")" == "#### Node" ]] && echo "- Node check failed. See job logs for details." >> "$issues_file" + echo >> "$issues_file" + fi + + if [[ "$python_setup_outcome" == "failure" || "$python_outcome" == "failure" ]]; then + echo "#### Python" >> "$issues_file" + if [[ "$python_setup_outcome" == "failure" ]]; then + echo "- Python setup failed (runtime/tooling install)." >> "$issues_file" + fi + if [[ -f "${{ steps.python-license-check.outputs.issues-file }}" ]]; then + rg -N "allow-only|fail|error|license|unknown" "${{ steps.python-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + fi + [[ "$(tail -n 1 "$issues_file")" == "#### Python" ]] && echo "- Python check failed. See job logs for details." >> "$issues_file" + echo >> "$issues_file" + fi + + if [[ "$failed" == "false" ]]; then + echo "No dependency license issues found." > "$issues_file" + fi { - echo "### Dependency License Checks" - echo "- Go check: $go_outcome" - echo "- Node setup/check: $node_setup_outcome / $node_outcome" - echo "- Python setup/check: $python_setup_outcome / $python_outcome" - echo "- Overall result: $([[ \"$failed\" == \"true\" ]] && echo failed || echo passed)" + echo "issues-markdown<> "$GITHUB_OUTPUT" + + { + echo "### Dependency License Issues" + cat "$issues_file" } >> "$GITHUB_STEP_SUMMARY" - - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && github.event_name == 'pull_request' && inputs.comment-results && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} + - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && github.event_name == 'pull_request' && inputs.comment-results && steps.summarize-license-checks.outputs.license-check-failed == 'true' && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Comment license results on PR uses: actions/github-script@v8 + env: + ISSUE_LIST: ${{ steps.summarize-license-checks.outputs.issues-markdown }} with: github-token: ${{ steps.generate-token.outputs.token }} script: | - const goOutcome = '${{ steps.go-license-check.outcome || 'skipped' }}'; - const nodeSetupOutcome = '${{ steps.node-setup.outcome || 'skipped' }}'; - const nodeOutcome = '${{ steps.node-license-check.outcome || 'skipped' }}'; - const pythonSetupOutcome = '${{ steps.python-setup.outcome || 'skipped' }}'; - const pythonOutcome = '${{ steps.python-license-check.outcome || 'skipped' }}'; - const failed = '${{ steps.summarize-license-checks.outputs.license-check-failed || 'false' }}' === 'true'; - - const body = [ - '### Dependency License Checks', - `- Go check: ${goOutcome}`, - `- Node setup/check: ${nodeSetupOutcome} / ${nodeOutcome}`, - `- Python setup/check: ${pythonSetupOutcome} / ${pythonOutcome}`, - `- Overall result: ${failed ? 'failed' : 'passed'}` - ].join('\n'); + const body = ['### Dependency License Issues', process.env.ISSUE_LIST || '- Unable to extract issue details. See job logs.'].join('\n\n'); await github.rest.issues.createComment({ owner: context.repo.owner, From 5f8f2663fa1cbcd448f6473bb36b1a5ad76f6da9 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 00:54:13 +0200 Subject: [PATCH 27/63] Update license.yaml --- .github/workflows/license.yaml | 76 ++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 9 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 2933e58e..d75d4051 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -116,12 +116,36 @@ jobs: GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" | tr ';' ',')" GO_LICENSE_LOG="$RUNNER_TEMP/go-license-check.log" mkdir -p "$RUNNER_TEMP/bin" - GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses/v2@latest - module_path="$(go list -m -f '{{.Path}}' 2>/dev/null || true)" - check_target="./..." - [[ -n "$module_path" ]] && check_target="${module_path}/..." - "$RUNNER_TEMP/bin/go-licenses" check "$check_target" --allowed_licenses="$GO_ALLOWED_LICENSES" 2>&1 | tee "$GO_LICENSE_LOG" - status=${PIPESTATUS[0]} + GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses@v1.6.0 + + status=0 + found_mod=false + + while IFS= read -r modfile; do + found_mod=true + moddir="$(dirname "$modfile")" + echo "Checking Go module in: $moddir" | tee -a "$GO_LICENSE_LOG" + + module_path="$(cd "$moddir" && go list -m -f '{{.Path}}' 2>/dev/null || true)" + check_target="./..." + [[ -n "$module_path" ]] && check_target="${module_path}/..." + + ( + cd "$moddir" + "$RUNNER_TEMP/bin/go-licenses" check "$check_target" --allowed_licenses="$GO_ALLOWED_LICENSES" + ) 2>&1 | tee -a "$GO_LICENSE_LOG" + + step_status=${PIPESTATUS[0]} + if [[ $step_status -ne 0 ]]; then + status=$step_status + fi + done < <(find . -name go.mod -not -path '*/vendor/*' -not -path './.git/*' | sort) + + if [[ "$found_mod" == "false" ]]; then + echo "No go.mod file found during Go license check." | tee -a "$GO_LICENSE_LOG" + status=1 + fi + echo "issues-file=$GO_LICENSE_LOG" >> "$GITHUB_OUTPUT" exit "$status" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-node == 'true' }} @@ -211,7 +235,23 @@ jobs: if [[ "$go_outcome" == "failure" ]]; then echo "#### Go" >> "$issues_file" if [[ -f "${{ steps.go-license-check.outputs.issues-file }}" ]]; then - rg -N "Forbidden license|not have module info|some errors occurred|^E[0-9]{4}|^F[0-9]{4}" "${{ steps.go-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + awk ' + /Forbidden license type/ { + if (match($0, /Forbidden license type ([^ ]+) for library ([^ ]+)/, m)) { + print "- " m[2] " -> forbidden license type " m[1] + } + next + } + /does not have module info/ { + if (match($0, /Package ([^ ]+) does not have module info/, m)) { + print "- " m[1] " -> missing module info" + } + next + } + /some errors occurred when loading direct and transitive dependency packages/ { + print "- go-licenses failed to load dependency graph" + } + ' "${{ steps.go-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true fi [[ ! -s "$issues_file" || "$(tail -n 1 "$issues_file")" == "#### Go" ]] && echo "- Go check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" @@ -223,7 +263,13 @@ jobs: echo "- Node setup failed (runtime/tooling install)." >> "$issues_file" fi if [[ -f "${{ steps.node-license-check.outputs.issues-file }}" ]]; then - rg -N "onlyAllow|fail|error|license" "${{ steps.node-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + awk ' + /^Package "/ { + if (match($0, /^Package "([^"]+)" is licensed under "([^"]+)" which is not permitted/, m)) { + print "- " m[1] " -> " m[2] + } + } + ' "${{ steps.node-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true fi [[ "$(tail -n 1 "$issues_file")" == "#### Node" ]] && echo "- Node check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" @@ -235,7 +281,19 @@ jobs: echo "- Python setup failed (runtime/tooling install)." >> "$issues_file" fi if [[ -f "${{ steps.python-license-check.outputs.issues-file }}" ]]; then - rg -N "allow-only|fail|error|license|unknown" "${{ steps.python-license-check.outputs.issues-file }}" | head -n 80 | sed 's/^/- /' >> "$issues_file" || true + awk ' + /not allowed|not permitted|allow-only|fail-on/ { + line=$0 + sub(/^\s+/, "", line) + print "- " line + } + /^\|/ { + # If tool prints tabular rows around failure, keep package rows for context. + line=$0 + sub(/^\s+/, "", line) + print "- " line + } + ' "${{ steps.python-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true fi [[ "$(tail -n 1 "$issues_file")" == "#### Python" ]] && echo "- Python check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" From a457316395b93448162b514a3e2baccb3a6bbac3 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:05:17 +0200 Subject: [PATCH 28/63] Update license.yaml --- .github/workflows/license.yaml | 78 +++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index d75d4051..bc0adec0 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -113,8 +113,10 @@ jobs: shell: bash run: | set -o pipefail + set +e GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" | tr ';' ',')" GO_LICENSE_LOG="$RUNNER_TEMP/go-license-check.log" + : > "$GO_LICENSE_LOG" mkdir -p "$RUNNER_TEMP/bin" GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses@v1.6.0 @@ -130,14 +132,30 @@ jobs: check_target="./..." [[ -n "$module_path" ]] && check_target="${module_path}/..." + ignore_args=(--ignore "github.com/zaphiro-technologies/") + [[ -n "$module_path" ]] && ignore_args+=(--ignore "$module_path") + module_log="$RUNNER_TEMP/go-license-$(echo "$moddir" | tr '/.' '__').log" + ( cd "$moddir" - "$RUNNER_TEMP/bin/go-licenses" check "$check_target" --allowed_licenses="$GO_ALLOWED_LICENSES" - ) 2>&1 | tee -a "$GO_LICENSE_LOG" + "$RUNNER_TEMP/bin/go-licenses" check "$check_target" --allowed_licenses="$GO_ALLOWED_LICENSES" "${ignore_args[@]}" + ) 2>&1 | tee "$module_log" | tee -a "$GO_LICENSE_LOG" step_status=${PIPESTATUS[0]} if [[ $step_status -ne 0 ]]; then - status=$step_status + if awk ' + /Forbidden license type/ { found=1 } + /Failed to find license for / { + if ($0 !~ /Failed to find license for github.com\/zaphiro-technologies\//) { + found=1 + } + } + END { exit(found ? 0 : 1) } + ' "$module_log"; then + status=$step_status + else + echo "Ignoring non-actionable go-licenses loader errors for $moddir" | tee -a "$GO_LICENSE_LOG" + fi fi done < <(find . -name go.mod -not -path '*/vendor/*' -not -path './.git/*' | sort) @@ -162,20 +180,40 @@ jobs: shell: bash run: | set -o pipefail + set +e NODE_LICENSE_LOG="$RUNNER_TEMP/node-license-check.log" + : > "$NODE_LICENSE_LOG" + exec > >(tee -a "$NODE_LICENSE_LOG") 2>&1 + + status=0 + if [[ -f "yarn.lock" ]]; then corepack enable yarn install --immutable + install_status=$? elif [[ -f "pnpm-lock.yaml" ]]; then corepack enable pnpm install --frozen-lockfile + install_status=$? elif [[ -f "package-lock.json" || -f "npm-shrinkwrap.json" ]]; then npm ci --ignore-scripts + install_status=$? else npm install --ignore-scripts --no-audit --no-fund + install_status=$? fi - npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" 2>&1 | tee "$NODE_LICENSE_LOG" - status=${PIPESTATUS[0]} + + if [[ $install_status -ne 0 ]]; then + echo "Dependency install failed with exit code $install_status" + status=$install_status + else + npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + checker_status=$? + if [[ $checker_status -ne 0 ]]; then + status=$checker_status + fi + fi + echo "issues-file=$NODE_LICENSE_LOG" >> "$GITHUB_OUTPUT" exit "$status" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-python == 'true' }} @@ -238,18 +276,28 @@ jobs: awk ' /Forbidden license type/ { if (match($0, /Forbidden license type ([^ ]+) for library ([^ ]+)/, m)) { - print "- " m[2] " -> forbidden license type " m[1] + if (m[2] !~ /^github.com\/zaphiro-technologies\//) { + print "- " m[2] " -> forbidden license type " m[1] + } } next } - /does not have module info/ { - if (match($0, /Package ([^ ]+) does not have module info/, m)) { - print "- " m[1] " -> missing module info" + /Failed to find license for / { + if (match($0, /Failed to find license for ([^:]+):/, m)) { + if (m[1] !~ /^github.com\/zaphiro-technologies\//) { + print "- " m[1] " -> license file not found" + } } next } /some errors occurred when loading direct and transitive dependency packages/ { print "- go-licenses failed to load dependency graph" + next + } + /^F[0-9]{4} / { + # Fatal go-licenses messages can provide the root cause summary. + sub(/^F[0-9]{4} [0-9:.]+ +[0-9]+ [^]]+\] /, "", $0) + print "- " $0 } ' "${{ steps.go-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true fi @@ -264,10 +312,18 @@ jobs: fi if [[ -f "${{ steps.node-license-check.outputs.issues-file }}" ]]; then awk ' - /^Package "/ { - if (match($0, /^Package "([^"]+)" is licensed under "([^"]+)" which is not permitted/, m)) { + /^Package / && /not permitted/ { + # Quoted format: Package "pkg" is licensed under "MIT" which is not permitted by --onlyAllow + if (match($0, /^Package "([^"]+)" is licensed under "([^"]+)"/, m)) { print "- " m[1] " -> " m[2] + next } + # Unquoted format fallback: keep full line so details are not lost. + print "- " $0 + next + } + /Dependency install failed with exit code/ || /npm ERR!/ || /ERR_PNPM_/ || /yarn .*error/ || /Command failed with exit code/ { + print "- " $0 } ' "${{ steps.node-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true fi From 5b18d659a8a75d4a41fafad2f2e5152361ff67b3 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:09:17 +0200 Subject: [PATCH 29/63] Update license.yaml --- .github/workflows/license.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index bc0adec0..205bb0fc 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license" + default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: @@ -114,7 +114,7 @@ jobs: run: | set -o pipefail set +e - GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" | tr ';' ',')" + GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" | tr ';' ',')" GO_LICENSE_LOG="$RUNNER_TEMP/go-license-check.log" : > "$GO_LICENSE_LOG" mkdir -p "$RUNNER_TEMP/bin" @@ -207,7 +207,7 @@ jobs: echo "Dependency install failed with exit code $install_status" status=$install_status else - npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" + npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status @@ -246,7 +246,7 @@ jobs: fi python -m pip install pip-licenses - pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License' }}" 2>&1 | tee "$PYTHON_LICENSE_LOG" + pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" 2>&1 | tee "$PYTHON_LICENSE_LOG" status=${PIPESTATUS[0]} echo "issues-file=$PYTHON_LICENSE_LOG" >> "$GITHUB_OUTPUT" exit "$status" From b10fa603d114d0f362437f1c74169a1e3eb1953c Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:12:28 +0200 Subject: [PATCH 30/63] Update license.yaml --- .github/workflows/license.yaml | 56 ++++++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 205bb0fc..96eeaeaa 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -230,24 +230,63 @@ jobs: shell: bash run: | set -o pipefail + set +e PYTHON_LICENSE_LOG="$RUNNER_TEMP/python-license-check.log" + : > "$PYTHON_LICENSE_LOG" + exec > >(tee -a "$PYTHON_LICENSE_LOG") 2>&1 + + status=0 python -m venv .license-venv . .license-venv/bin/activate python -m pip install --upgrade pip if [[ -f "requirements.txt" ]]; then python -m pip install -r requirements.txt + install_status=$? + if [[ $install_status -ne 0 ]]; then + echo "Dependency installation failed with exit code $install_status" + status=$install_status + fi elif [[ -f "pyproject.toml" && -f "poetry.lock" ]]; then - python -m pip install poetry - poetry export -f requirements.txt --without-hashes -o /tmp/license-requirements.txt - python -m pip install -r /tmp/license-requirements.txt + python -m pip install poetry poetry-plugin-export + poetry_install_status=$? + if [[ $poetry_install_status -ne 0 ]]; then + echo "Poetry setup failed with exit code $poetry_install_status" + status=$poetry_install_status + else + poetry export -f requirements.txt --without-hashes -o /tmp/license-requirements.txt + export_status=$? + if [[ $export_status -ne 0 ]]; then + echo "Poetry export failed with exit code $export_status" + status=$export_status + else + python -m pip install -r /tmp/license-requirements.txt + install_status=$? + if [[ $install_status -ne 0 ]]; then + echo "Dependency installation failed with exit code $install_status" + status=$install_status + fi + fi + fi elif [[ -f "pyproject.toml" ]]; then echo "No requirements.txt or poetry.lock found. Installing local project metadata dependencies may be incomplete." fi - python -m pip install pip-licenses - pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" 2>&1 | tee "$PYTHON_LICENSE_LOG" - status=${PIPESTATUS[0]} + if [[ $status -eq 0 ]]; then + python -m pip install pip-licenses + pip_licenses_install_status=$? + if [[ $pip_licenses_install_status -ne 0 ]]; then + echo "pip-licenses installation failed with exit code $pip_licenses_install_status" + status=$pip_licenses_install_status + else + pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" + pip_licenses_status=$? + if [[ $pip_licenses_status -ne 0 ]]; then + status=$pip_licenses_status + fi + fi + fi + echo "issues-file=$PYTHON_LICENSE_LOG" >> "$GITHUB_OUTPUT" exit "$status" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} @@ -338,6 +377,11 @@ jobs: fi if [[ -f "${{ steps.python-license-check.outputs.issues-file }}" ]]; then awk ' + /Poetry export failed|The requested command export does not exist|Poetry setup failed|Dependency installation failed|pip-licenses installation failed/ { + line=$0 + sub(/^\s+/, "", line) + print "- " line + } /not allowed|not permitted|allow-only|fail-on/ { line=$0 sub(/^\s+/, "", line) From 4e5c2e01f9b9c35cc00142d3f904649d4909a902 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:18:21 +0200 Subject: [PATCH 31/63] Update license.yaml --- .github/workflows/license.yaml | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 96eeaeaa..5f97f481 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -121,6 +121,16 @@ jobs: GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses@v1.6.0 status=0 + root_pkg_name="$(node -p \"try{require('./package.json').name||''}catch(e){''}\")" + root_pkg_version="$(node -p \"try{require('./package.json').version||''}catch(e){''}\")" + root_pkg_excludes="" + if [[ -n "$root_pkg_name" ]]; then + root_pkg_excludes="$root_pkg_name" + if [[ -n "$root_pkg_version" ]]; then + root_pkg_excludes="$root_pkg_excludes;${root_pkg_name}@${root_pkg_version}" + fi + echo "Excluding workspace package(s) from Node license policy: $root_pkg_excludes" + fi found_mod=false while IFS= read -r modfile; do @@ -207,7 +217,11 @@ jobs: echo "Dependency install failed with exit code $install_status" status=$install_status else - npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" + checker_cmd=(npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}") + if [[ -n "$root_pkg_excludes" ]]; then + checker_cmd+=(--excludePackages "$root_pkg_excludes") + fi + "${checker_cmd[@]}" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status @@ -240,14 +254,25 @@ jobs: . .license-venv/bin/activate python -m pip install --upgrade pip - if [[ -f "requirements.txt" ]]; then + # Some Python deps (for example pycairo) need system headers/tools for metadata/build. + if command -v apt-get >/dev/null 2>&1; then + sudo apt-get update + sudo apt-get install -y pkg-config libcairo2-dev meson ninja-build + sysdeps_status=$? + if [[ $sysdeps_status -ne 0 ]]; then + echo "System dependency installation failed with exit code $sysdeps_status" + status=$sysdeps_status + fi + fi + + if [[ $status -eq 0 && -f "requirements.txt" ]]; then python -m pip install -r requirements.txt install_status=$? if [[ $install_status -ne 0 ]]; then echo "Dependency installation failed with exit code $install_status" status=$install_status fi - elif [[ -f "pyproject.toml" && -f "poetry.lock" ]]; then + elif [[ $status -eq 0 && -f "pyproject.toml" && -f "poetry.lock" ]]; then python -m pip install poetry poetry-plugin-export poetry_install_status=$? if [[ $poetry_install_status -ne 0 ]]; then @@ -268,7 +293,7 @@ jobs: fi fi fi - elif [[ -f "pyproject.toml" ]]; then + elif [[ $status -eq 0 && -f "pyproject.toml" ]]; then echo "No requirements.txt or poetry.lock found. Installing local project metadata dependencies may be incomplete." fi From bf92edf86f7c1526e0f7a1d1bf158e0052929fe8 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:23:34 +0200 Subject: [PATCH 32/63] Update license.yaml --- .github/workflows/license.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 5f97f481..9a338540 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -121,16 +121,6 @@ jobs: GOBIN="$RUNNER_TEMP/bin" go install github.com/google/go-licenses@v1.6.0 status=0 - root_pkg_name="$(node -p \"try{require('./package.json').name||''}catch(e){''}\")" - root_pkg_version="$(node -p \"try{require('./package.json').version||''}catch(e){''}\")" - root_pkg_excludes="" - if [[ -n "$root_pkg_name" ]]; then - root_pkg_excludes="$root_pkg_name" - if [[ -n "$root_pkg_version" ]]; then - root_pkg_excludes="$root_pkg_excludes;${root_pkg_name}@${root_pkg_version}" - fi - echo "Excluding workspace package(s) from Node license policy: $root_pkg_excludes" - fi found_mod=false while IFS= read -r modfile; do @@ -196,6 +186,16 @@ jobs: exec > >(tee -a "$NODE_LICENSE_LOG") 2>&1 status=0 + root_pkg_name="$(node -p "try{require('./package.json').name||''}catch(e){''}")" + root_pkg_version="$(node -p "try{require('./package.json').version||''}catch(e){''}")" + root_pkg_excludes="" + if [[ -n "$root_pkg_name" ]]; then + root_pkg_excludes="$root_pkg_name" + if [[ -n "$root_pkg_version" ]]; then + root_pkg_excludes="$root_pkg_excludes;${root_pkg_name}@${root_pkg_version}" + fi + echo "Excluding workspace package(s) from Node license policy: $root_pkg_excludes" + fi if [[ -f "yarn.lock" ]]; then corepack enable From 061ca66e36cd5dbcb17eb844976b358bef769e38 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:30:12 +0200 Subject: [PATCH 33/63] Update license.yaml --- .github/workflows/license.yaml | 132 +++++++++++++++++++++++++++++++-- 1 file changed, 124 insertions(+), 8 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 9a338540..d2efa865 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -217,14 +217,77 @@ jobs: echo "Dependency install failed with exit code $install_status" status=$install_status else - checker_cmd=(npx --yes license-checker-rseidelsohn --production --onlyAllow "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}") - if [[ -n "$root_pkg_excludes" ]]; then - checker_cmd+=(--excludePackages "$root_pkg_excludes") - fi - "${checker_cmd[@]}" + NODE_LICENSE_JSON="$RUNNER_TEMP/node-license-check.json" + npx --yes license-checker-rseidelsohn --production --json > "$NODE_LICENSE_JSON" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status + elif [[ -f "$NODE_LICENSE_JSON" ]]; then + node - "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" <<'NODE' + const fs = require('fs'); + + const jsonPath = process.argv[2]; + const allowedRaw = process.argv[3] || ''; + const rootName = process.argv[4] || ''; + const rootVersion = process.argv[5] || ''; + + const allowed = new Set( + allowedRaw.split(';').map((s) => s.trim()).filter(Boolean) + ); + + function normalizeAtom(s) { + return s + .trim() + .replace(/^\(+|\)+$/g, '') + .replace(/\*$/, '') + .trim(); + } + + function expressionAllowed(expr) { + const raw = String(expr || '').trim(); + if (!raw) return false; + if (allowed.has(raw) || allowed.has(normalizeAtom(raw))) return true; + + const parts = raw.split(/\s+(?:OR|AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean); + if (parts.length > 1) { + return parts.every((p) => allowed.has(p) || allowed.has(normalizeAtom(p))); + } + return false; + } + + function pkgExcluded(pkg) { + if (!rootName) return false; + if (pkg === rootName) return true; + if (pkg.startsWith(rootName + '@')) return true; + if (rootVersion && pkg === `${rootName}@${rootVersion}`) return true; + return false; + } + + const report = JSON.parse(fs.readFileSync(jsonPath, 'utf8')); + const violations = []; + + for (const pkg of Object.keys(report).sort()) { + if (pkgExcluded(pkg)) continue; + + const licenses = report[pkg] && report[pkg].licenses; + const licenseList = Array.isArray(licenses) ? licenses : [licenses]; + const text = licenseList.map((x) => String(x || '').trim()).filter(Boolean).join(' OR '); + if (!text || !expressionAllowed(text)) { + violations.push({ pkg, license: text || 'UNKNOWN' }); + } + } + + if (violations.length > 0) { + for (const item of violations) { + console.log(`Package "${item.pkg}" is licensed under "${item.license}" which is not permitted by the --onlyAllow flag.`); + } + process.exit(1); + } + NODE + checker_status=$? + if [[ $checker_status -ne 0 ]]; then + status=$checker_status + fi fi fi @@ -304,10 +367,63 @@ jobs: echo "pip-licenses installation failed with exit code $pip_licenses_install_status" status=$pip_licenses_install_status else - pip-licenses --from=mixed --allow-only "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" + PYTHON_LICENSE_JSON="$RUNNER_TEMP/python-license-check.json" + pip-licenses --from=mixed --format=json > "$PYTHON_LICENSE_JSON" pip_licenses_status=$? if [[ $pip_licenses_status -ne 0 ]]; then status=$pip_licenses_status + elif [[ -f "$PYTHON_LICENSE_JSON" ]]; then + python - "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" <<'PY' + import json + import re + import sys + + json_path = sys.argv[1] + allowed_raw = sys.argv[2] if len(sys.argv) > 2 else "" + allowed = {x.strip() for x in allowed_raw.split(";") if x.strip()} + + def normalize_atom(s: str) -> str: + s = s.strip() + s = re.sub(r"^\(+|\)+$", "", s) + s = re.sub(r"\*$", "", s) + return s.strip() + + def expression_allowed(expr: str) -> bool: + raw = (expr or "").strip() + if not raw: + return False + nraw = normalize_atom(raw) + if raw in allowed or nraw in allowed: + return True + + parts = [ + normalize_atom(p) + for p in re.split(r"\s+(?:OR|AND|WITH)\s+|[;,/]", raw, flags=re.IGNORECASE) + if normalize_atom(p) + ] + if len(parts) > 1: + return all((p in allowed) or (normalize_atom(p) in allowed) for p in parts) + return False + + with open(json_path, "r", encoding="utf-8") as f: + report = json.load(f) + + violations = [] + for item in report: + name = item.get("Name") or item.get("name") or "UNKNOWN" + license_expr = item.get("License") or item.get("license") or "UNKNOWN" + if not expression_allowed(str(license_expr)): + violations.append((name, str(license_expr).strip() or "UNKNOWN")) + + if violations: + for name, lic in sorted(violations, key=lambda x: x[0].lower()): + print(f'Package "{name}" is licensed under "{lic}" which is not permitted by the --allow-only policy.') + sys.exit(1) + PY + python_eval_status=$? + if [[ $python_eval_status -ne 0 ]]; then + status=$python_eval_status + fi fi fi fi @@ -363,7 +479,7 @@ jobs: sub(/^F[0-9]{4} [0-9:.]+ +[0-9]+ [^]]+\] /, "", $0) print "- " $0 } - ' "${{ steps.go-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true + ' "${{ steps.go-license-check.outputs.issues-file }}" | sort -u >> "$issues_file" || true fi [[ ! -s "$issues_file" || "$(tail -n 1 "$issues_file")" == "#### Go" ]] && echo "- Go check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" @@ -418,7 +534,7 @@ jobs: sub(/^\s+/, "", line) print "- " line } - ' "${{ steps.python-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true + ' "${{ steps.python-license-check.outputs.issues-file }}" | sort -u >> "$issues_file" || true fi [[ "$(tail -n 1 "$issues_file")" == "#### Python" ]] && echo "- Python check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" From d4ed06b3cdf34b59dbb648cf0682cb0ed9748fee Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:33:30 +0200 Subject: [PATCH 34/63] Update license.yaml --- .github/workflows/license.yaml | 102 +++++++++++++++------------------ 1 file changed, 45 insertions(+), 57 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index d2efa865..e0a7300a 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -223,67 +223,55 @@ jobs: if [[ $checker_status -ne 0 ]]; then status=$checker_status elif [[ -f "$NODE_LICENSE_JSON" ]]; then - node - "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" <<'NODE' - const fs = require('fs'); - - const jsonPath = process.argv[2]; - const allowedRaw = process.argv[3] || ''; - const rootName = process.argv[4] || ''; - const rootVersion = process.argv[5] || ''; - - const allowed = new Set( - allowedRaw.split(';').map((s) => s.trim()).filter(Boolean) - ); - - function normalizeAtom(s) { - return s - .trim() - .replace(/^\(+|\)+$/g, '') - .replace(/\*$/, '') - .trim(); - } - - function expressionAllowed(expr) { - const raw = String(expr || '').trim(); - if (!raw) return false; - if (allowed.has(raw) || allowed.has(normalizeAtom(raw))) return true; - - const parts = raw.split(/\s+(?:OR|AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean); - if (parts.length > 1) { - return parts.every((p) => allowed.has(p) || allowed.has(normalizeAtom(p))); + node -e ' + const fs = require("fs"); + + const jsonPath = process.argv[1]; + const allowedRaw = process.argv[2] || ""; + const rootName = process.argv[3] || ""; + const rootVersion = process.argv[4] || ""; + + const allowed = new Set(allowedRaw.split(";").map((s) => s.trim()).filter(Boolean)); + + function normalizeAtom(s) { + return s.trim().replace(/^\(+|\)+$/g, "").replace(/\*$/, "").trim(); + } + + function expressionAllowed(expr) { + const raw = String(expr || "").trim(); + if (!raw) return false; + if (allowed.has(raw) || allowed.has(normalizeAtom(raw))) return true; + const parts = raw.split(/\s+(?:OR|AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean); + if (parts.length > 1) return parts.every((p) => allowed.has(p) || allowed.has(normalizeAtom(p))); + return false; } - return false; - } - - function pkgExcluded(pkg) { - if (!rootName) return false; - if (pkg === rootName) return true; - if (pkg.startsWith(rootName + '@')) return true; - if (rootVersion && pkg === `${rootName}@${rootVersion}`) return true; - return false; - } - - const report = JSON.parse(fs.readFileSync(jsonPath, 'utf8')); - const violations = []; - - for (const pkg of Object.keys(report).sort()) { - if (pkgExcluded(pkg)) continue; - - const licenses = report[pkg] && report[pkg].licenses; - const licenseList = Array.isArray(licenses) ? licenses : [licenses]; - const text = licenseList.map((x) => String(x || '').trim()).filter(Boolean).join(' OR '); - if (!text || !expressionAllowed(text)) { - violations.push({ pkg, license: text || 'UNKNOWN' }); + + function pkgExcluded(pkg) { + if (!rootName) return false; + if (pkg === rootName) return true; + if (pkg.startsWith(rootName + "@")) return true; + if (rootVersion && pkg === (rootName + "@" + rootVersion)) return true; + return false; } - } - if (violations.length > 0) { - for (const item of violations) { - console.log(`Package "${item.pkg}" is licensed under "${item.license}" which is not permitted by the --onlyAllow flag.`); + const report = JSON.parse(fs.readFileSync(jsonPath, "utf8")); + const violations = []; + + for (const pkg of Object.keys(report).sort()) { + if (pkgExcluded(pkg)) continue; + const licenses = report[pkg] && report[pkg].licenses; + const licenseList = Array.isArray(licenses) ? licenses : [licenses]; + const text = licenseList.map((x) => String(x || "").trim()).filter(Boolean).join(" OR "); + if (!text || !expressionAllowed(text)) violations.push({ pkg, license: text || "UNKNOWN" }); + } + + if (violations.length > 0) { + for (const item of violations) { + console.log("Package \"" + item.pkg + "\" is licensed under \"" + item.license + "\" which is not permitted by the --onlyAllow flag."); + } + process.exit(1); } - process.exit(1); - } - NODE + ' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status From 6a9751f0b1a7c54f10764b23205482d6de50890d Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Sat, 11 Apr 2026 01:35:53 +0200 Subject: [PATCH 35/63] Update license.yaml --- .github/workflows/license.yaml | 48 +--------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index e0a7300a..46a9a8a0 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -361,53 +361,7 @@ jobs: if [[ $pip_licenses_status -ne 0 ]]; then status=$pip_licenses_status elif [[ -f "$PYTHON_LICENSE_JSON" ]]; then - python - "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" <<'PY' - import json - import re - import sys - - json_path = sys.argv[1] - allowed_raw = sys.argv[2] if len(sys.argv) > 2 else "" - allowed = {x.strip() for x in allowed_raw.split(";") if x.strip()} - - def normalize_atom(s: str) -> str: - s = s.strip() - s = re.sub(r"^\(+|\)+$", "", s) - s = re.sub(r"\*$", "", s) - return s.strip() - - def expression_allowed(expr: str) -> bool: - raw = (expr or "").strip() - if not raw: - return False - nraw = normalize_atom(raw) - if raw in allowed or nraw in allowed: - return True - - parts = [ - normalize_atom(p) - for p in re.split(r"\s+(?:OR|AND|WITH)\s+|[;,/]", raw, flags=re.IGNORECASE) - if normalize_atom(p) - ] - if len(parts) > 1: - return all((p in allowed) or (normalize_atom(p) in allowed) for p in parts) - return False - - with open(json_path, "r", encoding="utf-8") as f: - report = json.load(f) - - violations = [] - for item in report: - name = item.get("Name") or item.get("name") or "UNKNOWN" - license_expr = item.get("License") or item.get("license") or "UNKNOWN" - if not expression_allowed(str(license_expr)): - violations.append((name, str(license_expr).strip() or "UNKNOWN")) - - if violations: - for name, lic in sorted(violations, key=lambda x: x[0].lower()): - print(f'Package "{name}" is licensed under "{lic}" which is not permitted by the --allow-only policy.') - sys.exit(1) - PY + python -c 'import json,re,sys; p=sys.argv[1]; a={x.strip() for x in (sys.argv[2] if len(sys.argv)>2 else "").split(";") if x.strip()}; n=lambda s: re.sub(r"\*$","",re.sub(r"^\(+|\)+$","",str(s).strip())).strip(); ok=lambda e: (lambda r:(r and ((r in a) or (n(r) in a) or (len([n(x) for x in re.split(r"\\s+(?:OR|AND|WITH)\\s+|[;,/]",r,flags=re.IGNORECASE) if n(x)])>1 and all((x in a) or (n(x) in a) for x in [n(y) for y in re.split(r"\\s+(?:OR|AND|WITH)\\s+|[;,/]",r,flags=re.IGNORECASE) if n(y)])))))(str(e or "").strip()); report=json.load(open(p,"r",encoding="utf-8")); v=sorted([(i.get("Name") or i.get("name") or "UNKNOWN", (i.get("License") or i.get("license") or "UNKNOWN").strip() or "UNKNOWN") for i in report if not ok(i.get("License") or i.get("license"))], key=lambda t:t[0].lower()); [print("Package \"{}\" is licensed under \"{}\" which is not permitted by the --allow-only policy.".format(nm,lc)) for nm,lc in v]; sys.exit(1 if v else 0)' "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" python_eval_status=$? if [[ $python_eval_status -ne 0 ]]; then status=$python_eval_status From 21b6f60b5817f628ce6cb905ec740eeb266c23a8 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 12:04:01 +0200 Subject: [PATCH 36/63] Update license.yaml --- .github/workflows/license.yaml | 54 ++-------------------------------- 1 file changed, 3 insertions(+), 51 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 46a9a8a0..1a0840b3 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" + default: "Apache-2.0;MIT;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: @@ -223,55 +223,7 @@ jobs: if [[ $checker_status -ne 0 ]]; then status=$checker_status elif [[ -f "$NODE_LICENSE_JSON" ]]; then - node -e ' - const fs = require("fs"); - - const jsonPath = process.argv[1]; - const allowedRaw = process.argv[2] || ""; - const rootName = process.argv[3] || ""; - const rootVersion = process.argv[4] || ""; - - const allowed = new Set(allowedRaw.split(";").map((s) => s.trim()).filter(Boolean)); - - function normalizeAtom(s) { - return s.trim().replace(/^\(+|\)+$/g, "").replace(/\*$/, "").trim(); - } - - function expressionAllowed(expr) { - const raw = String(expr || "").trim(); - if (!raw) return false; - if (allowed.has(raw) || allowed.has(normalizeAtom(raw))) return true; - const parts = raw.split(/\s+(?:OR|AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean); - if (parts.length > 1) return parts.every((p) => allowed.has(p) || allowed.has(normalizeAtom(p))); - return false; - } - - function pkgExcluded(pkg) { - if (!rootName) return false; - if (pkg === rootName) return true; - if (pkg.startsWith(rootName + "@")) return true; - if (rootVersion && pkg === (rootName + "@" + rootVersion)) return true; - return false; - } - - const report = JSON.parse(fs.readFileSync(jsonPath, "utf8")); - const violations = []; - - for (const pkg of Object.keys(report).sort()) { - if (pkgExcluded(pkg)) continue; - const licenses = report[pkg] && report[pkg].licenses; - const licenseList = Array.isArray(licenses) ? licenses : [licenses]; - const text = licenseList.map((x) => String(x || "").trim()).filter(Boolean).join(" OR "); - if (!text || !expressionAllowed(text)) violations.push({ pkg, license: text || "UNKNOWN" }); - } - - if (violations.length > 0) { - for (const item of violations) { - console.log("Package \"" + item.pkg + "\" is licensed under \"" + item.license + "\" which is not permitted by the --onlyAllow flag."); - } - process.exit(1); - } - ' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" + node -e 'const fs=require("fs"); const jsonPath=process.argv[1]; const allowedRaw=process.argv[2]||""; const rootName=process.argv[3]||""; const rootVersion=process.argv[4]||""; const allowed=new Set(allowedRaw.split(";").map((s)=>s.trim()).filter(Boolean)); const normalizeAtom=(s)=>String(s||"").trim().replace(/^\(+|\)+$/g,"").replace(/[.,;:]+$/,"").replace(/\*$/,"").trim(); const atomAllowed=(s)=>{const a=normalizeAtom(s); return !!a && (allowed.has(s) || allowed.has(a));}; const expressionAllowed=(expr)=>{ const raw=String(expr||"").trim(); if(!raw) return false; if(atomAllowed(raw)) return true; if(/\s+OR\s+/i.test(raw)) return raw.split(/\s+OR\s+/i).map(normalizeAtom).filter(Boolean).some(atomAllowed); if(/\s+(?:AND|WITH)\s+/i.test(raw)) return raw.split(/\s+(?:AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean).every(atomAllowed); return false; }; const pkgExcluded=(pkg)=>rootName && (pkg===rootName || pkg.startsWith(rootName+"@") || (rootVersion && pkg===rootName+"@"+rootVersion)); const report=JSON.parse(fs.readFileSync(jsonPath,"utf8")); const violations=[]; for (const pkg of Object.keys(report).sort()) { if (pkgExcluded(pkg)) continue; const licenses=report[pkg] && report[pkg].licenses; const licenseList=Array.isArray(licenses) ? licenses : [licenses]; const text=licenseList.map((x)=>String(x||"").trim()).filter(Boolean).join(" OR "); if (!text || !expressionAllowed(text)) violations.push({pkg, license:text || "UNKNOWN"}); } if (violations.length>0) { for (const item of violations) console.log("Package \""+item.pkg+"\" is licensed under \""+item.license+"\" which is not permitted by the --onlyAllow flag."); process.exit(1); }' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status @@ -361,7 +313,7 @@ jobs: if [[ $pip_licenses_status -ne 0 ]]; then status=$pip_licenses_status elif [[ -f "$PYTHON_LICENSE_JSON" ]]; then - python -c 'import json,re,sys; p=sys.argv[1]; a={x.strip() for x in (sys.argv[2] if len(sys.argv)>2 else "").split(";") if x.strip()}; n=lambda s: re.sub(r"\*$","",re.sub(r"^\(+|\)+$","",str(s).strip())).strip(); ok=lambda e: (lambda r:(r and ((r in a) or (n(r) in a) or (len([n(x) for x in re.split(r"\\s+(?:OR|AND|WITH)\\s+|[;,/]",r,flags=re.IGNORECASE) if n(x)])>1 and all((x in a) or (n(x) in a) for x in [n(y) for y in re.split(r"\\s+(?:OR|AND|WITH)\\s+|[;,/]",r,flags=re.IGNORECASE) if n(y)])))))(str(e or "").strip()); report=json.load(open(p,"r",encoding="utf-8")); v=sorted([(i.get("Name") or i.get("name") or "UNKNOWN", (i.get("License") or i.get("license") or "UNKNOWN").strip() or "UNKNOWN") for i in report if not ok(i.get("License") or i.get("license"))], key=lambda t:t[0].lower()); [print("Package \"{}\" is licensed under \"{}\" which is not permitted by the --allow-only policy.".format(nm,lc)) for nm,lc in v]; sys.exit(1 if v else 0)' "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" + python -c 'import json,re,sys; p=sys.argv[1]; a={x.strip() for x in (sys.argv[2] if len(sys.argv)>2 else "").split(";") if x.strip()}; n=lambda s: re.sub(r"\*$","",re.sub(r"[.,;:]+$","",re.sub(r"^\(+|\)+$","",str(s).strip()))).strip(); atom_ok=lambda s: bool(n(s)) and (str(s).strip() in a or n(s) in a); ok=lambda e: (lambda r: bool(r) and (atom_ok(r) or (bool(re.search(r"\s+OR\s+",r,re.I)) and any(atom_ok(x) for x in [n(y) for y in re.split(r"\s+OR\s+",r,flags=re.I) if n(y)])) or (bool(re.search(r"\s+(?:AND|WITH)\s+",r,re.I)) and all(atom_ok(x) for x in [n(y) for y in re.split(r"\s+(?:AND|WITH)\s+",r,flags=re.I) if n(y)]))))(str(e or "").strip()); report=json.load(open(p,"r",encoding="utf-8")); v=sorted([(i.get("Name") or i.get("name") or "UNKNOWN", (str(i.get("License") or i.get("license") or "UNKNOWN").strip() or "UNKNOWN")) for i in report if not ok(i.get("License") or i.get("license"))], key=lambda t:t[0].lower()); [print("Package \"{}\" is licensed under \"{}\" which is not permitted by the --allow-only policy.".format(nm,lc)) for nm,lc in v]; sys.exit(1 if v else 0)' "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" python_eval_status=$? if [[ $python_eval_status -ne 0 ]]; then status=$python_eval_status From 196bcfec50c959cd73656f0d68b86cdd8ab83008 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 12:05:51 +0200 Subject: [PATCH 37/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 1a0840b3..7cc27c40 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" + default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: From 83a836a223fa2d61bd3cb4a16d25f9e7236ab0ce Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 13:04:30 +0200 Subject: [PATCH 38/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 7cc27c40..7782c224 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0" + default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: From c0ba8ab6fcf138abcc63e835fe4dc82dbc26e5b6 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 13:14:06 +0200 Subject: [PATCH 39/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 7782c224..9dfdee50 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,7 +41,7 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense" + default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;Python-2.0;PSF-2.0;" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. repositories: From 905fe129f92361ce747499e3afd6fd61b0a6fc69 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:00:14 +0200 Subject: [PATCH 40/63] Update license.yaml --- .github/workflows/license.yaml | 155 ++++----------------------------- 1 file changed, 16 insertions(+), 139 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 9dfdee50..a3b69477 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -41,9 +41,11 @@ on: description: Path to the license-eye header configuration file. allowed-licenses: required: false - default: "Apache-2.0;MIT;MIT-0;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;Python-2.0;PSF-2.0;" + default: "Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;Python-2.0;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. + # Example Python-oriented allowlist (licensecheck token style): + # allowed-licenses: "mit;apache;bsd;isc;psf-2.0;mpl;lgpl;unlicense" repositories: required: false type: string @@ -114,7 +116,8 @@ jobs: run: | set -o pipefail set +e - GO_ALLOWED_LICENSES="$(echo "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" | tr ';' ',')" + GO_ALLOWED_LICENSES_RAW="${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)' }}" + GO_ALLOWED_LICENSES="$(echo "$GO_ALLOWED_LICENSES_RAW" | tr ';' ',')" GO_LICENSE_LOG="$RUNNER_TEMP/go-license-check.log" : > "$GO_LICENSE_LOG" mkdir -p "$RUNNER_TEMP/bin" @@ -223,7 +226,7 @@ jobs: if [[ $checker_status -ne 0 ]]; then status=$checker_status elif [[ -f "$NODE_LICENSE_JSON" ]]; then - node -e 'const fs=require("fs"); const jsonPath=process.argv[1]; const allowedRaw=process.argv[2]||""; const rootName=process.argv[3]||""; const rootVersion=process.argv[4]||""; const allowed=new Set(allowedRaw.split(";").map((s)=>s.trim()).filter(Boolean)); const normalizeAtom=(s)=>String(s||"").trim().replace(/^\(+|\)+$/g,"").replace(/[.,;:]+$/,"").replace(/\*$/,"").trim(); const atomAllowed=(s)=>{const a=normalizeAtom(s); return !!a && (allowed.has(s) || allowed.has(a));}; const expressionAllowed=(expr)=>{ const raw=String(expr||"").trim(); if(!raw) return false; if(atomAllowed(raw)) return true; if(/\s+OR\s+/i.test(raw)) return raw.split(/\s+OR\s+/i).map(normalizeAtom).filter(Boolean).some(atomAllowed); if(/\s+(?:AND|WITH)\s+/i.test(raw)) return raw.split(/\s+(?:AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean).every(atomAllowed); return false; }; const pkgExcluded=(pkg)=>rootName && (pkg===rootName || pkg.startsWith(rootName+"@") || (rootVersion && pkg===rootName+"@"+rootVersion)); const report=JSON.parse(fs.readFileSync(jsonPath,"utf8")); const violations=[]; for (const pkg of Object.keys(report).sort()) { if (pkgExcluded(pkg)) continue; const licenses=report[pkg] && report[pkg].licenses; const licenseList=Array.isArray(licenses) ? licenses : [licenses]; const text=licenseList.map((x)=>String(x||"").trim()).filter(Boolean).join(" OR "); if (!text || !expressionAllowed(text)) violations.push({pkg, license:text || "UNKNOWN"}); } if (violations.length>0) { for (const item of violations) console.log("Package \""+item.pkg+"\" is licensed under \""+item.license+"\" which is not permitted by the --onlyAllow flag."); process.exit(1); }' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" "$root_pkg_name" "$root_pkg_version" + node -e 'const fs=require("fs"); const jsonPath=process.argv[1]; const allowedRaw=process.argv[2]||""; const rootName=process.argv[3]||""; const rootVersion=process.argv[4]||""; const allowed=new Set(allowedRaw.split(";").map((s)=>s.trim()).filter(Boolean)); const normalizeAtom=(s)=>String(s||"").trim().replace(/^\(+|\)+$/g,"").replace(/[.,;:]+$/,"").replace(/\*$/,"").trim(); const atomAllowed=(s)=>{const a=normalizeAtom(s); return !!a && (allowed.has(s) || allowed.has(a));}; const expressionAllowed=(expr)=>{ const raw=String(expr||"").trim(); if(!raw) return false; if(atomAllowed(raw)) return true; if(/\s+OR\s+/i.test(raw)) return raw.split(/\s+OR\s+/i).map(normalizeAtom).filter(Boolean).some(atomAllowed); if(/\s+(?:AND|WITH)\s+/i.test(raw)) return raw.split(/\s+(?:AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean).every(atomAllowed); return false; }; const pkgExcluded=(pkg)=>rootName && (pkg===rootName || pkg.startsWith(rootName+"@") || (rootVersion && pkg===rootName+"@"+rootVersion)); const report=JSON.parse(fs.readFileSync(jsonPath,"utf8")); const violations=[]; for (const pkg of Object.keys(report).sort()) { if (pkgExcluded(pkg)) continue; const licenses=report[pkg] && report[pkg].licenses; const licenseList=Array.isArray(licenses) ? licenses : [licenses]; const text=licenseList.map((x)=>String(x||"").trim()).filter(Boolean).join(" OR "); if (!text || !expressionAllowed(text)) violations.push({pkg, license:text || "UNKNOWN"}); } if (violations.length>0) { for (const item of violations) console.log("Package \""+item.pkg+"\" is licensed under \""+item.license+"\" which is not permitted by the --onlyAllow flag."); process.exit(1); }' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)' }}" "$root_pkg_name" "$root_pkg_version" checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status @@ -241,89 +244,20 @@ jobs: with: python-version: "3.12" - if: ${{ (!inputs.skip-dependency || inputs.skip-dependency == '') && steps.detect-ecosystems.outputs.has-python == 'true' }} - name: Python license policy check + name: Check Python dependencies' License id: python-license-check continue-on-error: true shell: bash run: | - set -o pipefail - set +e PYTHON_LICENSE_LOG="$RUNNER_TEMP/python-license-check.log" : > "$PYTHON_LICENSE_LOG" - exec > >(tee -a "$PYTHON_LICENSE_LOG") 2>&1 - - status=0 - python -m venv .license-venv - . .license-venv/bin/activate - python -m pip install --upgrade pip - - # Some Python deps (for example pycairo) need system headers/tools for metadata/build. - if command -v apt-get >/dev/null 2>&1; then - sudo apt-get update - sudo apt-get install -y pkg-config libcairo2-dev meson ninja-build - sysdeps_status=$? - if [[ $sysdeps_status -ne 0 ]]; then - echo "System dependency installation failed with exit code $sysdeps_status" - status=$sysdeps_status - fi - fi - - if [[ $status -eq 0 && -f "requirements.txt" ]]; then - python -m pip install -r requirements.txt - install_status=$? - if [[ $install_status -ne 0 ]]; then - echo "Dependency installation failed with exit code $install_status" - status=$install_status - fi - elif [[ $status -eq 0 && -f "pyproject.toml" && -f "poetry.lock" ]]; then - python -m pip install poetry poetry-plugin-export - poetry_install_status=$? - if [[ $poetry_install_status -ne 0 ]]; then - echo "Poetry setup failed with exit code $poetry_install_status" - status=$poetry_install_status - else - poetry export -f requirements.txt --without-hashes -o /tmp/license-requirements.txt - export_status=$? - if [[ $export_status -ne 0 ]]; then - echo "Poetry export failed with exit code $export_status" - status=$export_status - else - python -m pip install -r /tmp/license-requirements.txt - install_status=$? - if [[ $install_status -ne 0 ]]; then - echo "Dependency installation failed with exit code $install_status" - status=$install_status - fi - fi - fi - elif [[ $status -eq 0 && -f "pyproject.toml" ]]; then - echo "No requirements.txt or poetry.lock found. Installing local project metadata dependencies may be incomplete." - fi - - if [[ $status -eq 0 ]]; then - python -m pip install pip-licenses - pip_licenses_install_status=$? - if [[ $pip_licenses_install_status -ne 0 ]]; then - echo "pip-licenses installation failed with exit code $pip_licenses_install_status" - status=$pip_licenses_install_status - else - PYTHON_LICENSE_JSON="$RUNNER_TEMP/python-license-check.json" - pip-licenses --from=mixed --format=json > "$PYTHON_LICENSE_JSON" - pip_licenses_status=$? - if [[ $pip_licenses_status -ne 0 ]]; then - status=$pip_licenses_status - elif [[ -f "$PYTHON_LICENSE_JSON" ]]; then - python -c 'import json,re,sys; p=sys.argv[1]; a={x.strip() for x in (sys.argv[2] if len(sys.argv)>2 else "").split(";") if x.strip()}; n=lambda s: re.sub(r"\*$","",re.sub(r"[.,;:]+$","",re.sub(r"^\(+|\)+$","",str(s).strip()))).strip(); atom_ok=lambda s: bool(n(s)) and (str(s).strip() in a or n(s) in a); ok=lambda e: (lambda r: bool(r) and (atom_ok(r) or (bool(re.search(r"\s+OR\s+",r,re.I)) and any(atom_ok(x) for x in [n(y) for y in re.split(r"\s+OR\s+",r,flags=re.I) if n(y)])) or (bool(re.search(r"\s+(?:AND|WITH)\s+",r,re.I)) and all(atom_ok(x) for x in [n(y) for y in re.split(r"\s+(?:AND|WITH)\s+",r,flags=re.I) if n(y)]))))(str(e or "").strip()); report=json.load(open(p,"r",encoding="utf-8")); v=sorted([(i.get("Name") or i.get("name") or "UNKNOWN", (str(i.get("License") or i.get("license") or "UNKNOWN").strip() or "UNKNOWN")) for i in report if not ok(i.get("License") or i.get("license"))], key=lambda t:t[0].lower()); [print("Package \"{}\" is licensed under \"{}\" which is not permitted by the --allow-only policy.".format(nm,lc)) for nm,lc in v]; sys.exit(1 if v else 0)' "$PYTHON_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT OR X11;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Python-2.0' }}" - python_eval_status=$? - if [[ $python_eval_status -ne 0 ]]; then - status=$python_eval_status - fi - fi - fi - fi - echo "issues-file=$PYTHON_LICENSE_LOG" >> "$GITHUB_OUTPUT" - exit "$status" + exec > >(tee -a "$PYTHON_LICENSE_LOG") 2>&1 + pip install poetry + pip install poetry-plugin-export + poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt + pip install licensecheck + licensecheck --only-licenses mit apache bsd psf-2.0 mpl lgpl --show-only-failing --zero --requirements-paths /tmp/reqs.txt - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks @@ -347,33 +281,7 @@ jobs: if [[ "$go_outcome" == "failure" ]]; then echo "#### Go" >> "$issues_file" if [[ -f "${{ steps.go-license-check.outputs.issues-file }}" ]]; then - awk ' - /Forbidden license type/ { - if (match($0, /Forbidden license type ([^ ]+) for library ([^ ]+)/, m)) { - if (m[2] !~ /^github.com\/zaphiro-technologies\//) { - print "- " m[2] " -> forbidden license type " m[1] - } - } - next - } - /Failed to find license for / { - if (match($0, /Failed to find license for ([^:]+):/, m)) { - if (m[1] !~ /^github.com\/zaphiro-technologies\//) { - print "- " m[1] " -> license file not found" - } - } - next - } - /some errors occurred when loading direct and transitive dependency packages/ { - print "- go-licenses failed to load dependency graph" - next - } - /^F[0-9]{4} / { - # Fatal go-licenses messages can provide the root cause summary. - sub(/^F[0-9]{4} [0-9:.]+ +[0-9]+ [^]]+\] /, "", $0) - print "- " $0 - } - ' "${{ steps.go-license-check.outputs.issues-file }}" | sort -u >> "$issues_file" || true + cat "${{ steps.go-license-check.outputs.issues-file }}" >> "$issues_file" fi [[ ! -s "$issues_file" || "$(tail -n 1 "$issues_file")" == "#### Go" ]] && echo "- Go check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" @@ -385,21 +293,7 @@ jobs: echo "- Node setup failed (runtime/tooling install)." >> "$issues_file" fi if [[ -f "${{ steps.node-license-check.outputs.issues-file }}" ]]; then - awk ' - /^Package / && /not permitted/ { - # Quoted format: Package "pkg" is licensed under "MIT" which is not permitted by --onlyAllow - if (match($0, /^Package "([^"]+)" is licensed under "([^"]+)"/, m)) { - print "- " m[1] " -> " m[2] - next - } - # Unquoted format fallback: keep full line so details are not lost. - print "- " $0 - next - } - /Dependency install failed with exit code/ || /npm ERR!/ || /ERR_PNPM_/ || /yarn .*error/ || /Command failed with exit code/ { - print "- " $0 - } - ' "${{ steps.node-license-check.outputs.issues-file }}" | sort -u | head -n 80 >> "$issues_file" || true + cat "${{ steps.node-license-check.outputs.issues-file }}" >> "$issues_file" fi [[ "$(tail -n 1 "$issues_file")" == "#### Node" ]] && echo "- Node check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" @@ -411,24 +305,7 @@ jobs: echo "- Python setup failed (runtime/tooling install)." >> "$issues_file" fi if [[ -f "${{ steps.python-license-check.outputs.issues-file }}" ]]; then - awk ' - /Poetry export failed|The requested command export does not exist|Poetry setup failed|Dependency installation failed|pip-licenses installation failed/ { - line=$0 - sub(/^\s+/, "", line) - print "- " line - } - /not allowed|not permitted|allow-only|fail-on/ { - line=$0 - sub(/^\s+/, "", line) - print "- " line - } - /^\|/ { - # If tool prints tabular rows around failure, keep package rows for context. - line=$0 - sub(/^\s+/, "", line) - print "- " line - } - ' "${{ steps.python-license-check.outputs.issues-file }}" | sort -u >> "$issues_file" || true + cat "${{ steps.python-license-check.outputs.issues-file }}" >> "$issues_file" fi [[ "$(tail -n 1 "$issues_file")" == "#### Python" ]] && echo "- Python check failed. See job logs for details." >> "$issues_file" echo >> "$issues_file" From 67bb7ea03145b7264f5eb7638fc80023470ca499 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:02:21 +0200 Subject: [PATCH 41/63] Delete .github/config/.ort.yaml --- .github/config/.ort.yaml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/config/.ort.yaml diff --git a/.github/config/.ort.yaml b/.github/config/.ort.yaml deleted file mode 100644 index 090c9c3d..00000000 --- a/.github/config/.ort.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# ORT repository configuration file. -# This baseline keeps dependency checks focused on runtime-relevant components. - -excludes: - paths: - - pattern: "**/*.{md,MD}" - reason: "DOCUMENTATION_OF" - comment: "Documentation files are excluded from dependency license evaluation." - - pattern: ".github/config/**" - reason: "BUILD_TOOL_OF" - comment: "CI and tool configuration files are excluded from product scope." - - pattern: ".*" - reason: "BUILD_TOOL_OF" - comment: "Dotfiles are excluded from dependency license evaluation." - - scopes: - - pattern: "devDependencies" - reason: "DEV_DEPENDENCY_OF" - comment: "Packages for development only." - - pattern: "(test.*|.*test.*|funTest.*)" - reason: "TEST_DEPENDENCY_OF" - comment: "Packages for tests only." From 99f677bbe59ea6b2078299d4e7ffa7cf3a70ae67 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:03:18 +0200 Subject: [PATCH 42/63] Delete .vscode/tasks.json --- .vscode/tasks.json | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 8a5ad04c..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "noop", - "type": "shell", - "command": "true" - }, - { - "label": "cleanup temp", - "type": "shell", - "command": "echo" - } - ] -} \ No newline at end of file From 9bc2272b4af37bebfcb0ff8517f318edc082f787 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:22:52 +0200 Subject: [PATCH 43/63] Update license.yaml --- .github/workflows/license.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index a3b69477..51e95d2c 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -249,15 +249,15 @@ jobs: continue-on-error: true shell: bash run: | - PYTHON_LICENSE_LOG="$RUNNER_TEMP/python-license-check.log" - : > "$PYTHON_LICENSE_LOG" - echo "issues-file=$PYTHON_LICENSE_LOG" >> "$GITHUB_OUTPUT" - exec > >(tee -a "$PYTHON_LICENSE_LOG") 2>&1 + PYTHON_LICENSE_RESULT="$RUNNER_TEMP/python-license-result.log" + : > "$PYTHON_LICENSE_RESULT" + echo "issues-file=$PYTHON_LICENSE_RESULT" >> "$GITHUB_OUTPUT" + pip install poetry pip install poetry-plugin-export poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install licensecheck - licensecheck --only-licenses mit apache bsd psf-2.0 mpl lgpl --show-only-failing --zero --requirements-paths /tmp/reqs.txt + licensecheck --only-licenses mit apache bsd psf-2.0 mpl lgpl --show-only-failing --zero --requirements-paths /tmp/reqs.txt 2>&1 | tee "$PYTHON_LICENSE_RESULT" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From e6078a2fd6d12e22a7c9ad1f1b7a1fd540b798be Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:28:52 +0200 Subject: [PATCH 44/63] Update license.yaml --- .github/workflows/license.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 51e95d2c..512b8ace 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -257,7 +257,8 @@ jobs: pip install poetry-plugin-export poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install licensecheck - licensecheck --only-licenses mit apache bsd psf-2.0 mpl lgpl --show-only-failing --zero --requirements-paths /tmp/reqs.txt 2>&1 | tee "$PYTHON_LICENSE_RESULT" + allowed_licenses="$(echo "${{ inputs.allowed-licenses || 'mit;apache;bsd;psf-2.0;mpl;lgpl' }}" | tr ';' '\n' | tr '[:upper:]' '[:lower:]' | tr -s ' ' | xargs)" + licensecheck --only-licenses $allowed_licenses --show-only-failing --zero --format markdown --requirements-paths /tmp/reqs.txt 2>&1 | tee "$PYTHON_LICENSE_RESULT" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From d83ead45716b5c11a1e1b28019d6a845ebc05a74 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:31:48 +0200 Subject: [PATCH 45/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 512b8ace..c7dc1e51 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -258,7 +258,7 @@ jobs: poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install licensecheck allowed_licenses="$(echo "${{ inputs.allowed-licenses || 'mit;apache;bsd;psf-2.0;mpl;lgpl' }}" | tr ';' '\n' | tr '[:upper:]' '[:lower:]' | tr -s ' ' | xargs)" - licensecheck --only-licenses $allowed_licenses --show-only-failing --zero --format markdown --requirements-paths /tmp/reqs.txt 2>&1 | tee "$PYTHON_LICENSE_RESULT" + licensecheck --only-licenses $allowed_licenses --show-only-failing --zero --format markdown --requirements-paths /tmp/reqs.txt 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From 8a4624c38d346bda8afb463f10dcf579606cd425 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:37:29 +0200 Subject: [PATCH 46/63] Apply suggestion from @chicco785 --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index c7dc1e51..08bf4c22 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -69,7 +69,7 @@ jobs: with: app-id: ${{ secrets.APP_ID }} private-key: ${{ secrets.APP_SECRET }} - repositories: ${{ github.event.repository.name }},github-workflows${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} + repositories: github-workflows,${{ github.event.repository.name }}${{ inputs.repositories && format(',{0}', inputs.repositories) || '' }} permission-contents: write permission-issues: write permission-pull-requests: write From 2af969b7090fbaa16294cfb9a32afa05f5ba051c Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:44:02 +0200 Subject: [PATCH 47/63] Update license.yaml --- .github/workflows/license.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index c7dc1e51..e85107b3 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -220,17 +220,15 @@ jobs: echo "Dependency install failed with exit code $install_status" status=$install_status else - NODE_LICENSE_JSON="$RUNNER_TEMP/node-license-check.json" - npx --yes license-checker-rseidelsohn --production --json > "$NODE_LICENSE_JSON" + exclude_args="" + if [[ -n "$root_pkg_name" ]]; then + exclude_args="--excludePackages \"${root_pkg_name};${root_pkg_name}@${root_pkg_version}\"" + fi + allowed_licenses="${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)' }}" + npx --yes license-checker-rseidelsohn --production --onlyAllow "$allowed_licenses" $exclude_args checker_status=$? if [[ $checker_status -ne 0 ]]; then status=$checker_status - elif [[ -f "$NODE_LICENSE_JSON" ]]; then - node -e 'const fs=require("fs"); const jsonPath=process.argv[1]; const allowedRaw=process.argv[2]||""; const rootName=process.argv[3]||""; const rootVersion=process.argv[4]||""; const allowed=new Set(allowedRaw.split(";").map((s)=>s.trim()).filter(Boolean)); const normalizeAtom=(s)=>String(s||"").trim().replace(/^\(+|\)+$/g,"").replace(/[.,;:]+$/,"").replace(/\*$/,"").trim(); const atomAllowed=(s)=>{const a=normalizeAtom(s); return !!a && (allowed.has(s) || allowed.has(a));}; const expressionAllowed=(expr)=>{ const raw=String(expr||"").trim(); if(!raw) return false; if(atomAllowed(raw)) return true; if(/\s+OR\s+/i.test(raw)) return raw.split(/\s+OR\s+/i).map(normalizeAtom).filter(Boolean).some(atomAllowed); if(/\s+(?:AND|WITH)\s+/i.test(raw)) return raw.split(/\s+(?:AND|WITH)\s+/i).map(normalizeAtom).filter(Boolean).every(atomAllowed); return false; }; const pkgExcluded=(pkg)=>rootName && (pkg===rootName || pkg.startsWith(rootName+"@") || (rootVersion && pkg===rootName+"@"+rootVersion)); const report=JSON.parse(fs.readFileSync(jsonPath,"utf8")); const violations=[]; for (const pkg of Object.keys(report).sort()) { if (pkgExcluded(pkg)) continue; const licenses=report[pkg] && report[pkg].licenses; const licenseList=Array.isArray(licenses) ? licenses : [licenses]; const text=licenseList.map((x)=>String(x||"").trim()).filter(Boolean).join(" OR "); if (!text || !expressionAllowed(text)) violations.push({pkg, license:text || "UNKNOWN"}); } if (violations.length>0) { for (const item of violations) console.log("Package \""+item.pkg+"\" is licensed under \""+item.license+"\" which is not permitted by the --onlyAllow flag."); process.exit(1); }' "$NODE_LICENSE_JSON" "${{ inputs.allowed-licenses || 'Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)' }}" "$root_pkg_name" "$root_pkg_version" - checker_status=$? - if [[ $checker_status -ne 0 ]]; then - status=$checker_status - fi fi fi From 88d45e6472e5d4d83af840b2fac3f36225089fb2 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:51:34 +0200 Subject: [PATCH 48/63] Update license.yaml --- .github/workflows/license.yaml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index aedc7f17..c2ffb3e5 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -44,8 +44,6 @@ on: default: "Apache-2.0;MIT;MIT-0;MIT License;BSD;BSD License;BSD-2-Clause;BSD-3-Clause;ISC;ISC License;0BSD;MPL-2.0;Apache 2.0;Apache Software License;Custom: https://gsap.com/standard-license;Python-2.0;Unlicense;Python-2.0;PSF-2.0;Mozilla Public License 2.0 (MPL 2.0)" type: string description: Shared semicolon-separated allowlist used by Go, Node and Python checks. - # Example Python-oriented allowlist (licensecheck token style): - # allowed-licenses: "mit;apache;bsd;isc;psf-2.0;mpl;lgpl;unlicense" repositories: required: false type: string @@ -251,12 +249,11 @@ jobs: : > "$PYTHON_LICENSE_RESULT" echo "issues-file=$PYTHON_LICENSE_RESULT" >> "$GITHUB_OUTPUT" - pip install poetry - pip install poetry-plugin-export + pip install poetry poetry-plugin-export pip-licenses --quiet poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt - pip install licensecheck - allowed_licenses="$(echo "${{ inputs.allowed-licenses || 'mit;apache;bsd;psf-2.0;mpl;lgpl' }}" | tr ';' '\n' | tr '[:upper:]' '[:lower:]' | tr -s ' ' | xargs)" - licensecheck --only-licenses $allowed_licenses --show-only-failing --zero --format markdown --requirements-paths /tmp/reqs.txt 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + pip install -r /tmp/reqs.txt --quiet + allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" + pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From 5ac631a781fd6493b301c440a25585857631ea0f Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 14:56:46 +0200 Subject: [PATCH 49/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index c2ffb3e5..eb1a49fa 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -251,7 +251,7 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt - pip install -r /tmp/reqs.txt --quiet + pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} From 405e1a708cbb19b83517fb705f5e93d160d87a17 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:02:19 +0200 Subject: [PATCH 50/63] Update license.yaml --- .github/workflows/license.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index eb1a49fa..be115141 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -249,6 +249,22 @@ jobs: : > "$PYTHON_LICENSE_RESULT" echo "issues-file=$PYTHON_LICENSE_RESULT" >> "$GITHUB_OUTPUT" + # In consuming repositories, run project bootstrap if the target exists. + if command -v make >/dev/null 2>&1; then + if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then + if grep -E '^[[:space:]]*dev-setup[[:space:]]*:' Makefile makefile GNUmakefile 2>/dev/null >/dev/null; then + echo "Running make dev-setup before Python license checks" + make dev-setup + else + echo "No dev-setup target found in make files; skipping make dev-setup" + fi + else + echo "No make file found; skipping make dev-setup" + fi + else + echo "make is not available; skipping make dev-setup" + fi + pip install poetry poetry-plugin-export pip-licenses --quiet poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: From 3732536302746cabf4d7340e6ad2185d2f430fcb Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:16:28 +0200 Subject: [PATCH 51/63] Update license.yaml --- .github/workflows/license.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index be115141..60ee2acb 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -252,7 +252,7 @@ jobs: # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then - if grep -E '^[[:space:]]*dev-setup[[:space:]]*:' Makefile makefile GNUmakefile 2>/dev/null >/dev/null; then + if make -n dev-setup >/dev/null 2>&1; then echo "Running make dev-setup before Python license checks" make dev-setup else From fc69923294bf4f90530141369b883c23551ea98a Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:18:29 +0200 Subject: [PATCH 52/63] Update license.yaml --- .github/workflows/license.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 60ee2acb..ccefbf06 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -249,6 +249,8 @@ jobs: : > "$PYTHON_LICENSE_RESULT" echo "issues-file=$PYTHON_LICENSE_RESULT" >> "$GITHUB_OUTPUT" + pip install poetry poetry-plugin-export pip-licenses --quiet + # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then @@ -264,8 +266,6 @@ jobs: else echo "make is not available; skipping make dev-setup" fi - - pip install poetry poetry-plugin-export pip-licenses --quiet poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" From e98419f65199d8f60d14e069884c2838eed71eb6 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:36:41 +0200 Subject: [PATCH 53/63] Update license.yaml --- .github/workflows/license.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index ccefbf06..02a7d513 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -251,12 +251,16 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet + allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" + dev_setup_ran=false + # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then if make -n dev-setup >/dev/null 2>&1; then echo "Running make dev-setup before Python license checks" make dev-setup + dev_setup_ran=true else echo "No dev-setup target found in make files; skipping make dev-setup" fi @@ -266,10 +270,16 @@ jobs: else echo "make is not available; skipping make dev-setup" fi - poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt - pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: - allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" - pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + + if [[ "$dev_setup_ran" == "true" ]]; then + # Packages already in the poetry virtualenv — scan directly. + poetry run pip install pip-licenses --quiet + poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + else + poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt + pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: + pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + fi - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From a2d3bd9577e0bb605a9a884e7e5924f4be897879 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:40:59 +0200 Subject: [PATCH 54/63] Update license.yaml --- .github/workflows/license.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 02a7d513..06c25c06 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -248,6 +248,7 @@ jobs: PYTHON_LICENSE_RESULT="$RUNNER_TEMP/python-license-result.log" : > "$PYTHON_LICENSE_RESULT" echo "issues-file=$PYTHON_LICENSE_RESULT" >> "$GITHUB_OUTPUT" + set +e pip install poetry poetry-plugin-export pip-licenses --quiet @@ -259,7 +260,7 @@ jobs: if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then if make -n dev-setup >/dev/null 2>&1; then echo "Running make dev-setup before Python license checks" - make dev-setup + make dev-setup || echo "make dev-setup exited non-zero, continuing with license check" dev_setup_ran=true else echo "No dev-setup target found in make files; skipping make dev-setup" @@ -274,11 +275,11 @@ jobs: if [[ "$dev_setup_ran" == "true" ]]; then # Packages already in the poetry virtualenv — scan directly. poetry run pip install pip-licenses --quiet - poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" else poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: - pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" fi - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results From 365e30883362d54eac2538ec1f967eb0340ef3a1 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:51:53 +0200 Subject: [PATCH 55/63] Update license.yaml --- .github/workflows/license.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 06c25c06..5b98945d 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -253,26 +253,26 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" - dev_setup_ran=false + install-system-deps_ran=false # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then - if make -n dev-setup >/dev/null 2>&1; then - echo "Running make dev-setup before Python license checks" - make dev-setup || echo "make dev-setup exited non-zero, continuing with license check" - dev_setup_ran=true + if make -n install-system-deps >/dev/null 2>&1; then + echo "Running make install-system-deps before Python license checks" + make install-system-deps + install-system-deps_ran=true else - echo "No dev-setup target found in make files; skipping make dev-setup" + echo "No install-system-deps target found in make files; skipping make install-system-deps" fi else - echo "No make file found; skipping make dev-setup" + echo "No make file found; skipping make install-system-deps" fi else - echo "make is not available; skipping make dev-setup" + echo "make is not available; skipping make install-system-deps" fi - if [[ "$dev_setup_ran" == "true" ]]; then + if [[ "$install-system-deps_ran" == "true" ]]; then # Packages already in the poetry virtualenv — scan directly. poetry run pip install pip-licenses --quiet poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" From 67541700641e2f2e7e342eea1a0750d349d185b7 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 15:54:24 +0200 Subject: [PATCH 56/63] Update license.yaml --- .github/workflows/license.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 5b98945d..be213766 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -253,7 +253,7 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" - install-system-deps_ran=false + install_system_deps_ran=false # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then @@ -261,7 +261,7 @@ jobs: if make -n install-system-deps >/dev/null 2>&1; then echo "Running make install-system-deps before Python license checks" make install-system-deps - install-system-deps_ran=true + install_system_deps_ran=true else echo "No install-system-deps target found in make files; skipping make install-system-deps" fi @@ -272,7 +272,7 @@ jobs: echo "make is not available; skipping make install-system-deps" fi - if [[ "$install-system-deps_ran" == "true" ]]; then + if [[ "$install_system_deps_ran" == "true" ]]; then # Packages already in the poetry virtualenv — scan directly. poetry run pip install pip-licenses --quiet poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" From 0b42b53709a9f2bbf98de05b1eb7bb110300b359 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 16:03:04 +0200 Subject: [PATCH 57/63] Update license.yaml --- .github/workflows/license.yaml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index be213766..e0d8a5a2 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -253,15 +253,13 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" - install_system_deps_ran=false # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then if make -n install-system-deps >/dev/null 2>&1; then echo "Running make install-system-deps before Python license checks" - make install-system-deps - install_system_deps_ran=true + make install-system-deps || echo "make install-system-deps exited non-zero; continuing with license scan" else echo "No install-system-deps target found in make files; skipping make install-system-deps" fi @@ -272,15 +270,22 @@ jobs: echo "make is not available; skipping make install-system-deps" fi - if [[ "$install_system_deps_ran" == "true" ]]; then - # Packages already in the poetry virtualenv — scan directly. - poetry run pip install pip-licenses --quiet - poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" - else - poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt - pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: - pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT"; exit "${PIPESTATUS[0]}" + poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt + export_status=$? + if [[ $export_status -ne 0 ]]; then + echo "Poetry export failed with exit code $export_status" | tee -a "$PYTHON_LICENSE_RESULT" + exit $export_status fi + + pip install -r /tmp/reqs.txt --quiet --prefer-binary --only-binary=:all: + install_status=$? + if [[ $install_status -ne 0 ]]; then + echo "Dependency installation failed with exit code $install_status (wheel-only mode)." | tee -a "$PYTHON_LICENSE_RESULT" + exit $install_status + fi + + pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + exit "${PIPESTATUS[0]}" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From d496c5842f2174f5c8ac423febf0e9c842c417f4 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 16:06:27 +0200 Subject: [PATCH 58/63] Update license.yaml --- .github/workflows/license.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index e0d8a5a2..95c9c5dc 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -253,13 +253,20 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" + install_system_deps_succeeded=false # In consuming repositories, run project bootstrap if the target exists. if command -v make >/dev/null 2>&1; then if [[ -f Makefile || -f makefile || -f GNUmakefile ]]; then if make -n install-system-deps >/dev/null 2>&1; then echo "Running make install-system-deps before Python license checks" - make install-system-deps || echo "make install-system-deps exited non-zero; continuing with license scan" + make install-system-deps + make_status=$? + if [[ $make_status -eq 0 ]]; then + install_system_deps_succeeded=true + else + echo "make install-system-deps exited non-zero; continuing with fallback scan path" + fi else echo "No install-system-deps target found in make files; skipping make install-system-deps" fi @@ -270,6 +277,13 @@ jobs: echo "make is not available; skipping make install-system-deps" fi + if [[ "$install_system_deps_succeeded" == "true" ]]; then + # Project dependencies are already resolved in Poetry's environment. + poetry run pip install pip-licenses --quiet + poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + exit "${PIPESTATUS[0]}" + fi + poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt export_status=$? if [[ $export_status -ne 0 ]]; then From 47b6273cbf4af77524f7e6dbc31add728b8718bc Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 16:12:56 +0200 Subject: [PATCH 59/63] Update license.yaml --- .github/workflows/license.yaml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 95c9c5dc..4947e9de 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -253,6 +253,15 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" + strict_allowed_licenses="$( + printf '%s' "$allowed_licenses" | + tr ';' '\n' | + sed '/^[[:space:]]*$/d' | + sed -E 's/^[[:space:]]+|[[:space:]]+$//g' | + sed -E 's/[][(){}.^$*+?|\\-]/\\\\&/g' | + sed -E 's/^/^/; s/$/$/' | + paste -sd';' - + )" install_system_deps_succeeded=false # In consuming repositories, run project bootstrap if the target exists. @@ -280,7 +289,7 @@ jobs: if [[ "$install_system_deps_succeeded" == "true" ]]; then # Project dependencies are already resolved in Poetry's environment. poetry run pip install pip-licenses --quiet - poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + poetry run pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" fi @@ -298,7 +307,7 @@ jobs: exit $install_status fi - pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results From 4a3e738bbda938f607a10de29f0614658f9586d1 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 16:21:13 +0200 Subject: [PATCH 60/63] Update license.yaml --- .github/workflows/license.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 4947e9de..2152e62d 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -286,11 +286,17 @@ jobs: echo "make is not available; skipping make install-system-deps" fi + echo "DEBUG: allowed_licenses=$allowed_licenses" + echo "DEBUG: strict_allowed_licenses=$strict_allowed_licenses" + if [[ "$install_system_deps_succeeded" == "true" ]]; then # Project dependencies are already resolved in Poetry's environment. poetry run pip install pip-licenses --quiet - poetry run pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" - exit "${PIPESTATUS[0]}" + echo "DEBUG: running pip-licenses with --allow-only=$strict_allowed_licenses" + poetry run pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" | tee "$PYTHON_LICENSE_RESULT" + pip_status="${PIPESTATUS[0]}" + echo "DEBUG: pip-licenses exit code=$pip_status" + exit "$pip_status" fi poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt @@ -307,8 +313,11 @@ jobs: exit $install_status fi - pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" - exit "${PIPESTATUS[0]}" + echo "DEBUG: running pip-licenses with --allow-only=$strict_allowed_licenses" + pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" | tee "$PYTHON_LICENSE_RESULT" + pip_status="${PIPESTATUS[0]}" + echo "DEBUG: pip-licenses exit code=$pip_status" + exit "$pip_status" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From 990771f803f3d4c800cf52ae83d1068cee9dd95b Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 17:07:45 +0200 Subject: [PATCH 61/63] test mode --- .github/workflows/license.yaml | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 2152e62d..8fc6e5c3 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -252,16 +252,6 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet - allowed_licenses="${{ inputs.allowed-licenses || 'MIT;Apache;BSD;ISC;PSF;MPL;LGPL;Unlicense' }}" - strict_allowed_licenses="$( - printf '%s' "$allowed_licenses" | - tr ';' '\n' | - sed '/^[[:space:]]*$/d' | - sed -E 's/^[[:space:]]+|[[:space:]]+$//g' | - sed -E 's/[][(){}.^$*+?|\\-]/\\\\&/g' | - sed -E 's/^/^/; s/$/$/' | - paste -sd';' - - )" install_system_deps_succeeded=false # In consuming repositories, run project bootstrap if the target exists. @@ -286,17 +276,11 @@ jobs: echo "make is not available; skipping make install-system-deps" fi - echo "DEBUG: allowed_licenses=$allowed_licenses" - echo "DEBUG: strict_allowed_licenses=$strict_allowed_licenses" - if [[ "$install_system_deps_succeeded" == "true" ]]; then - # Project dependencies are already resolved in Poetry's environment. + poetry install --no-interaction --quiet poetry run pip install pip-licenses --quiet - echo "DEBUG: running pip-licenses with --allow-only=$strict_allowed_licenses" - poetry run pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" | tee "$PYTHON_LICENSE_RESULT" - pip_status="${PIPESTATUS[0]}" - echo "DEBUG: pip-licenses exit code=$pip_status" - exit "$pip_status" + poetry run pip-licenses --format=markdown | tee "$PYTHON_LICENSE_RESULT" + exit "${PIPESTATUS[0]}" fi poetry export -f requirements.txt --without-hashes --without dev -o /tmp/reqs.txt @@ -313,11 +297,8 @@ jobs: exit $install_status fi - echo "DEBUG: running pip-licenses with --allow-only=$strict_allowed_licenses" - pip-licenses --format=markdown --allow-only="$strict_allowed_licenses" | tee "$PYTHON_LICENSE_RESULT" - pip_status="${PIPESTATUS[0]}" - echo "DEBUG: pip-licenses exit code=$pip_status" - exit "$pip_status" + pip-licenses --format=markdown | tee "$PYTHON_LICENSE_RESULT" + exit "${PIPESTATUS[0]}" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results id: summarize-license-checks From 64a90cef79d80220f1ae92f54c12d097a6173ff9 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 17:14:30 +0200 Subject: [PATCH 62/63] Update license.yaml --- .github/workflows/license.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 8fc6e5c3..8bd5ed28 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -252,6 +252,8 @@ jobs: pip install poetry poetry-plugin-export pip-licenses --quiet + allowed_licenses="${{ inputs.allowed-licenses }}" + install_system_deps_succeeded=false # In consuming repositories, run project bootstrap if the target exists. @@ -279,7 +281,7 @@ jobs: if [[ "$install_system_deps_succeeded" == "true" ]]; then poetry install --no-interaction --quiet poetry run pip install pip-licenses --quiet - poetry run pip-licenses --format=markdown | tee "$PYTHON_LICENSE_RESULT" + poetry run pip-licenses --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" fi @@ -297,7 +299,7 @@ jobs: exit $install_status fi - pip-licenses --format=markdown | tee "$PYTHON_LICENSE_RESULT" + pip-licenses --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results From 22e2c32c93875d36ac8e1d13823b1042003d9852 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Thu, 16 Apr 2026 17:17:42 +0200 Subject: [PATCH 63/63] Update license.yaml --- .github/workflows/license.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/license.yaml b/.github/workflows/license.yaml index 8bd5ed28..e8bc356c 100644 --- a/.github/workflows/license.yaml +++ b/.github/workflows/license.yaml @@ -281,7 +281,7 @@ jobs: if [[ "$install_system_deps_succeeded" == "true" ]]; then poetry install --no-interaction --quiet poetry run pip install pip-licenses --quiet - poetry run pip-licenses --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + poetry run pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>&1 | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" fi @@ -299,7 +299,7 @@ jobs: exit $install_status fi - pip-licenses --allow-only="$allowed_licenses" 2>/dev/null | tee "$PYTHON_LICENSE_RESULT" + pip-licenses --format=markdown --allow-only="$allowed_licenses" 2>&1 | tee "$PYTHON_LICENSE_RESULT" exit "${PIPESTATUS[0]}" - if: ${{ always() && (!inputs.skip-dependency || inputs.skip-dependency == '') && (hashFiles('go.mod') != '' || hashFiles('package.json') != '' || hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '') }} name: Summarize dependency license results