pax_global_header00006660000000000000000000000064140617222750014520gustar00rootroot0000000000000052 comment=475a246eb3d5281cc63b90345fcba080bfefb21b license-expression-21.6.14/000077500000000000000000000000001406172227500155125ustar00rootroot00000000000000license-expression-21.6.14/.gitattributes000066400000000000000000000001311406172227500204000ustar00rootroot00000000000000# Ignore all Git auto CR/LF line endings conversions * -text pyproject.toml export-subst license-expression-21.6.14/.gitignore000066400000000000000000000013441406172227500175040ustar00rootroot00000000000000# Python compiled files *.py[cod] # virtualenv and other misc bits *.egg-info /dist /build /bin /lib /scripts /Scripts /Lib /pip-selfcheck.json /tmp .Python /include /Include /local */local/* /local/ /share/ /tcl/ /.eggs/ # Installer logs pip-log.txt # Unit test / coverage reports .cache .coverage .coverage.* nosetests.xml htmlcov # Translations *.mo # IDEs .project .pydevproject .idea org.eclipse.core.resources.prefs .vscode .vs # Sphinx docs/_build docs/bin docs/build docs/include docs/Lib doc/pyvenv.cfg pyvenv.cfg # Various junk and temp files .DS_Store *~ .*.sw[po] .build .ve *.bak /.cache/ # pyenv /.python-version /man/ /.pytest_cache/ lib64 tcl # Ignore Jupyter Notebook related temp files .ipynb_checkpoints/ /.tox/ license-expression-21.6.14/.readthedocs.yml000066400000000000000000000006101406172227500205750ustar00rootroot00000000000000# .readthedocs.yml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Where the Sphinx conf.py file is located sphinx: configuration: docs/source/conf.py # Setting the python version and doc build requirements python: install: - method: pip path: . extra_requirements: - docs license-expression-21.6.14/.travis.yml000066400000000000000000000007671406172227500176350ustar00rootroot00000000000000# This is a skeleton Travis CI config file that provides a starting point for adding CI # to a Python project. Since we primarily develop in python3, this skeleton config file # will be specific to that language. # # See https://config.travis-ci.com/ for a full list of configuration options. os: linux dist: xenial language: python python: - "3.6" - "3.7" - "3.8" - "3.9" # Scripts to run at install stage install: ./configure --dev # Scripts to run at script stage script: tmp/bin/pytest license-expression-21.6.14/AUTHORS.rst000066400000000000000000000006631406172227500173760ustar00rootroot00000000000000The following organizations or individuals have contributed to this code: - Ayan Sinha Mahapatra @AyanSinhaMahapatra - Carmen Bianca Bakker @carmenbianca - Chin-Yeung Li @chinyeungli - Dennis Clark @DennisClark - John Horan @johnmhoran - Jono Yang @JonoYang - Max Mehl @mxmehl - nexB Inc. @nexB - Peter Kolbus @pkolbus - Philippe Ombredanne @pombredanne - Sebastian Schuberth @sschuberth - Steven Esser @majurg - Thomas Druez @tdruez license-expression-21.6.14/CHANGELOG.rst000066400000000000000000000025261406172227500175400ustar00rootroot00000000000000Changelog ========= v21.6.14 - 2021-06-14 ---------------------- Added ~~~~~ - Switch to calver for package versioning to better convey the currency of the bundled data. - Include https://scancode-licensedb.aboutcode.org/ licenses list with ScanCode (v21.6.7) and SPDX licenses (v3.13) keys. Add new functions to create Licensing using these licenses as LicenseSymbol. - Add new License.dedup() method to deduplicate and simplify license expressions without over simplifying. - Add new License.validate() method to return a new ExpressionInfo object with details on a license expression validation. Changed ~~~~~~~ - Drop support for Python 2. - Adopt the project skeleton from https://github.com/nexB/skeleton and its new configure script v1.2 - 2019-11-14 ------------------ Added ~~~~~ - Add ability to render WITH expression wrapped in parenthesis Fixes ~~~~~ - Fix anomalous backslashes in strings Changed ~~~~~~~ - Update the thirdparty directory structure. v1.0 - 2019-10-16 ------------------ Added ~~~~~ - New version of boolean.py library - Add ability to leave license expressions unsorted when simplifying Changed ~~~~~~~ - updated travis CI settings v0.999 - 2019-04-29 -------------------- - Initial release - license-expression is small utility library to parse, compare and simplify and normalize license expressions. license-expression-21.6.14/MANIFEST.in000066400000000000000000000003311406172227500172450ustar00rootroot00000000000000graft src include *.LICENSE include NOTICE include *.ABOUT include *.toml include *.yml include *.rst include setup.* include configure* include requirements* include .git* global-exclude *.py[co] __pycache__ *.*~ license-expression-21.6.14/NOTICE000066400000000000000000000013351406172227500164200ustar00rootroot00000000000000# # Copyright (c) nexB Inc. and others. # SPDX-License-Identifier: Apache-2.0 # # Visit https://aboutcode.org and https://github.com/nexB/license-expression # for support and download. # # 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. # license-expression-21.6.14/README.rst000066400000000000000000000247061406172227500172120ustar00rootroot00000000000000================== license-expression ================== ``license-expression`` is a comprehensive utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic. - License: Apache-2.0 - Python: 3.6+ - Homepage: https://github.com/nexB/license-expression/ - Install: `pip install license-expression` also available in most Linux distro. Software project licenses are often a combination of several free and open source software licenses. License expressions -- as specified by SPDX -- provide a concise and human readable way to express these licenses without having to read long license texts, while still being machine-readable. License expressions are used by key FOSS projects such as Linux; several packages ecosystem use them to document package licensing metadata such as npm and Rubygems; they are important when exchanging software data (such as with SPDX and SBOM in general) as a way to express licensing precisely. ``license-expression`` is a comprehensive utility library to parse, compare, simplify and normalize these license expressions (such as SPDX license expressions) using boolean logic like in: `GPL-2.0 or later WITH Classpath Exception AND MIT`. It includes the license keys from SPDX https://spdx.org/licenses/ (version 3.13) and ScanCode license DB (version 21.6.7) https://scancode-licensedb.aboutcode.org/ to get started quickly. ``license-expression`` is both powerful and simple to use and is a used as the license expression engine in several projects and products such as: - AboutCode-toolkit https://github.com/nexB/aboutcode-toolkit - AlekSIS (School Information System) https://github.com/AlekSIS-org/AlekSIS-Core - Barista https://github.com/Optum/barista - Conda forge tools https://github.com/conda-forge/conda-smithy - DejaCode https://dejacode.com - DeltaCode https://github.com/nexB/deltacode - FenixscanX https://github.com/SmartsYoung/FenixscanX - FetchCode https://github.com/nexB/fetchcode - Flict https://github.com/vinland-technology/flict and https://github.com/vinland-technology - license.sh https://github.com/webscopeio/license.sh - liferay_inbound_checker https://github.com/carmenbianca/liferay_inbound_checker - REUSE https://reuse.software/ and https://github.com/fsfe/reuse-tool - ScanCode-io https://github.com/nexB/scancode.io - ScanCode-toolkit https://github.com/nexB/scancode-toolkit See also for details: - https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/ ``license-expression`` is also packaged for most Linux distributions. See below. Alternative: There is no known alternative library for Python, but there are several similar libraries in other languages (but not as powerful of course!): - JavaScript https://github.com/jslicense/spdx-expression-parse.js - Rust https://github.com/ehuss/license-exprs - Haskell https://github.com/phadej/spdx - Go https://github.com/kyoh86/go-spdx - Ada https://github.com/Fabien-Chouteau/spdx_ada - Java https://github.com/spdx/tools and https://github.com/aschet/spdx-license-expression-tools Build and tests status ====================== +--------------------------+------------------------+----------------------------------+ |**Linux & macOS (Travis)**| **Windows (AppVeyor)** |**Linux, Windows & macOS (Azure)**| +==========================+========================+==================================+ | | | | | |travis-badge-icon| | |appveyor-badge-icon| | |azure-badge-icon| | | | | | +--------------------------+------------------------+----------------------------------+ Source code and download ======================== - GitHub https://github.com/nexB/license-expression.git - PyPI https://pypi.python.org/pypi/license-expression Also available in several Linux distros: - Arch Linux https://aur.archlinux.org/packages/python-license-expression/ - Debian https://packages.debian.org/unstable/source/license-expression - DragonFly BSD https://github.com/DragonFlyBSD/DPorts/tree/master/textproc/py-license-expression - Fedora https://src.fedoraproject.org/rpms/python-license-expression/ - FreeBSD https://www.freshports.org/textproc/py-license-expression - NixOS https://github.com/NixOS/nixpkgs/blob/release-21.05/pkgs/development/python-modules/license-expression/default.nix - openSUSE https://build.opensuse.org/package/show/openSUSE:Factory/python-license-expression Support ======= - Submit bugs and questions at: https://github.com/nexB/license-expression/issues - Join the chat at: https://gitter.im/aboutcode-org/discuss Description =========== This module defines a mini language to parse, validate, simplify, normalize and compare license expressions using a boolean logic engine. This supports SPDX license expressions and also accepts other license naming conventions and license identifiers aliases to resolve and normalize any license expressions. Using boolean logic, license expressions can be tested for equality, containment, equivalence and can be normalized or simplified. It also bundles the SPDX License list (3.13 as of now) and the ScanCode license DB (based on ScanCode 21.6.7) to easily parse and validate expressions using the license symbols. Usage examples ============== The main entry point is the ``Licensing`` object that you can use to parse, validate, compare, simplify and normalize license expressions. Create an SPDX Licensing and parse expressions:: >>> from license_expression import get_spdx_licensing >>> licensing = get_spdx_licensing() >>> expression = ' GPL-2.0 or LGPL-2.1 and mit ' >>> parsed = licensing.parse(expression) >>> print(parsed.pretty()) OR( LicenseSymbol('GPL-2.0-only'), AND( LicenseSymbol('LGPL-2.1-only'), LicenseSymbol('MIT') ) ) >>> str(parsed) 'GPL-2.0-only OR (LGPL-2.1-only AND MIT)' >>> licensing.parse('unknwon with foo', validate=True, strict=True) license_expression.ExpressionParseError: A plain license symbol cannot be used as an exception in a "WITH symbol" statement. for token: "foo" at position: 13 >>> licensing.parse('unknwon with foo', validate=True) license_expression.ExpressionError: Unknown license key(s): unknwon, foo >>> licensing.validate('foo and MIT and GPL-2.0+') ExpressionInfo( original_expression='foo and MIT and GPL-2.0+', normalized_expression=None, errors=['Unknown license key(s): foo'], invalid_symbols=['foo'] ) Create a simple Licensing and parse expressions:: >>> from license_expression import Licensing, LicenseSymbol >>> licensing = Licensing() >>> expression = ' GPL-2.0 or LGPL-2.1 and mit ' >>> parsed = licensing.parse(expression) >>> expression = ' GPL-2.0 or LGPL-2.1 and mit ' >>> expected = 'GPL-2.0-only OR (LGPL-2.1-only AND mit)' >>> assert str(parsed) == expected >>> assert parsed.render('{symbol.key}') == expected Create a Licensing with your own license symbols:: >>> expected = [ ... LicenseSymbol('GPL-2.0'), ... LicenseSymbol('LGPL-2.1'), ... LicenseSymbol('mit') ... ] >>> assert licensing.license_symbols(expression) == expected >>> assert licensing.license_symbols(parsed) == expected >>> symbols = ['GPL-2.0+', 'Classpath', 'BSD'] >>> licensing = Licensing(symbols) >>> expression = 'GPL-2.0+ with Classpath or (bsd)' >>> parsed = licensing.parse(expression) >>> expected = 'GPL-2.0+ WITH Classpath OR BSD' >>> assert parsed.render('{symbol.key}') == expected >>> expected = [ ... LicenseSymbol('GPL-2.0+'), ... LicenseSymbol('Classpath'), ... LicenseSymbol('BSD') ... ] >>> assert licensing.license_symbols(parsed) == expected >>> assert licensing.license_symbols(expression) == expected And expression can be deduplicated, to remove duplicate license subexpressions without changing the order and without consider license choices as simplifiable:: >>> expression2 = ' GPL-2.0 or (mit and LGPL 2.1) or bsd Or GPL-2.0 or (mit and LGPL 2.1)' >>> parsed2 = licensing.parse(expression2) >>> str(parsed2) 'GPL-2.0 OR (mit AND LGPL 2.1) OR BSD OR GPL-2.0 OR (mit AND LGPL 2.1)' >>> assert str(parsed2.simplify()) == 'BSD OR GPL-2.0 OR (LGPL 2.1 AND mit)' Expression can be simplified, treating them as boolean expressions:: >>> expression2 = ' GPL-2.0 or (mit and LGPL 2.1) or bsd Or GPL-2.0 or (mit and LGPL 2.1)' >>> parsed2 = licensing.parse(expression2) >>> str(parsed2) 'GPL-2.0 OR (mit AND LGPL 2.1) OR BSD OR GPL-2.0 OR (mit AND LGPL 2.1)' >>> assert str(parsed2.simplify()) == 'BSD OR GPL-2.0 OR (LGPL 2.1 AND mit)' Two expressions can be compared for equivalence and containment: >>> expr1 = licensing.parse(' GPL-2.0 or (LGPL 2.1 and mit) ') >>> expr2 = licensing.parse(' (mit and LGPL 2.1) or GPL-2.0 ') >>> licensing.is_equivalent(expr1, expr2) True >>> licensing.is_equivalent(' GPL-2.0 or (LGPL 2.1 and mit) ', ... ' (mit and LGPL 2.1) or GPL-2.0 ') True >>> expr1.simplify() == expr2.simplify() True >>> expr3 = licensing.parse(' GPL-2.0 or mit or LGPL 2.1') >>> licensing.is_equivalent(expr2, expr3) False >>> expr4 = licensing.parse('mit and LGPL 2.1') >>> expr4.simplify() in expr2.simplify() True >>> licensing.contains(expr2, expr4) True Development =========== - Checkout a clone from https://github.com/nexB/license-expression.git - Then run ``./configure --dev`` and then ``source tmp/bin/activate`` on Linux and POSIX. This will install all dependencies in a local virtualenv, including development deps. - On Windows run ``configure.bat --dev`` and then ``Scripts\bin\activate`` instead. - To run the tests, run ``pytest -vvs`` .. |travis-badge-icon| image:: https://api.travis-ci.org/nexB/license-expression.png?branch=master :target: https://travis-ci.org/nexB/license-expression :alt: Travis tests status :align: middle .. |appveyor-badge-icon| image:: https://ci.appveyor.com/api/projects/status/github/nexB/license-expression?svg=true :target: https://ci.appveyor.com/project/nexB/license-expression :alt: Appveyor tests status :align: middle .. |azure-badge-icon| image:: https://dev.azure.com/nexB/license-expression/_apis/build/status/nexB.license-expression?branchName=master :target: https://dev.azure.com/nexB/license-expression/_build/latest?definitionId=2&branchName=master :alt: Azure pipelines tests status :align: middle license-expression-21.6.14/apache-2.0.LICENSE000066400000000000000000000262251406172227500202430ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS <<<<<<< HEAD ======= APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] 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. >>>>>>> refs/remotes/skeleton/main license-expression-21.6.14/appveyor.yml000066400000000000000000000007521406172227500201060ustar00rootroot00000000000000version: '{build}' environment: matrix: - PYTHON_EXE: "C:\\Python36-x64\\python.exe" - PYTHON_EXE: "C:\\Python37-x64\\python.exe" - PYTHON_EXE: "C:\\Python38-x64\\python.exe" - PYTHON_EXE: "C:\\Python39-x64\\python.exe" install: - configure --dev build: off test_script: - 'tmp\Scripts\activate' - 'tmp\Scripts\python -c "from __future__ import print_function;import sys;print(sys.getdefaultencoding())"' - 'tmp\Scripts\pytest -vvs' license-expression-21.6.14/azure-pipelines.yml000066400000000000000000000041231406172227500213510ustar00rootroot00000000000000 ################################################################################ # We use Azure to run the full tests suites on multiple Python 3.x # on multiple Windows, macOS and Linux versions all on 64 bits # These jobs are using VMs with Azure-provided Python builds ################################################################################ jobs: - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu16_cpython image_name: ubuntu-16.04 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp/bin/pytest -vvs - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu18_cpython image_name: ubuntu-18.04 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp/bin/pytest -n 2 -vvs - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu20_cpython image_name: ubuntu-20.04 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp/bin/pytest -n 2 -vvs - template: etc/ci/azure-posix.yml parameters: job_name: macos1014_cpython image_name: macos-10.14 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp/bin/pytest -n 2 -vvs - template: etc/ci/azure-posix.yml parameters: job_name: macos1015_cpython image_name: macos-10.15 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp/bin/pytest -n 2 -vvs - template: etc/ci/azure-win.yml parameters: job_name: win2016_cpython image_name: vs2017-win2016 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp\Scripts\pytest -n 2 -vvs - template: etc/ci/azure-win.yml parameters: job_name: win2019_cpython image_name: windows-2019 python_versions: ['3.6', '3.7', '3.8', '3.9'] test_suites: all: tmp\Scripts\pytest -n 2 -vvs license-expression-21.6.14/configure000077500000000000000000000116461406172227500174310ustar00rootroot00000000000000#!/usr/bin/env bash # # Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text. # See https://github.com/nexB/ for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # set -e #set -x ################################ # A configuration script to set things up: # create a virtualenv and install or update thirdparty packages. # Source this script for initial configuration # Use configure --help for details # # This script will search for a virtualenv.pyz app in etc/thirdparty/virtualenv.pyz # Otherwise it will download the latest from the VIRTUALENV_PYZ_URL default ################################ CLI_ARGS=$1 ################################ # Defaults. Change these variables to customize this script ################################ # Requirement arguments passed to pip and used by default or with --dev. REQUIREMENTS="--editable ." DEV_REQUIREMENTS="--editable .[testing]" # where we create a virtualenv VIRTUALENV_DIR=tmp # Cleanable files and directories with the --clean option CLEANABLE=" build tmp" # extra arguments passed to pip PIP_EXTRA_ARGS=" " # the URL to download virtualenv.pyz if needed VIRTUALENV_PYZ_URL=https://bootstrap.pypa.io/virtualenv.pyz ################################ ################################ # Current directory where this script lives CFG_ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" CFG_BIN_DIR=$CFG_ROOT_DIR/$VIRTUALENV_DIR/bin ################################ # Set the quiet flag to empty if not defined if [[ "$CFG_QUIET" == "" ]]; then CFG_QUIET=" " fi ################################ # find a proper Python to run # Use environment variables or a file if available. # Otherwise the latest Python by default. if [[ "$PYTHON_EXECUTABLE" == "" ]]; then # check for a file named PYTHON_EXECUTABLE if [ -f "$CFG_ROOT_DIR/PYTHON_EXECUTABLE" ]; then PYTHON_EXECUTABLE=$(cat "$CFG_ROOT_DIR/PYTHON_EXECUTABLE") else PYTHON_EXECUTABLE=python3 fi fi ################################ cli_help() { echo An initial configuration script echo " usage: ./configure [options]" echo echo The default is to configure for regular use. Use --dev for development. echo echo The options are: echo " --clean: clean built and installed files and exit." echo " --dev: configure the environment for development." echo " --help: display this help message and exit." echo echo By default, the python interpreter version found in the path is used. echo Alternatively, the PYTHON_EXECUTABLE environment variable can be set to echo configure another Python executable interpreter to use. If this is not echo set, a file named PYTHON_EXECUTABLE containing a single line with the echo path of the Python executable to use will be checked last. set +e exit } clean() { # Remove cleanable file and directories and files from the root dir. echo "* Cleaning ..." for cln in $CLEANABLE; do rm -rf "${CFG_ROOT_DIR:?}/${cln:?}"; done set +e exit } create_virtualenv() { # create a virtualenv for Python # Note: we do not use the bundled Python 3 "venv" because its behavior and # presence is not consistent across Linux distro and sometimes pip is not # included either by default. The virtualenv.pyz app cures all these issues. VENV_DIR="$1" if [ ! -f "$CFG_BIN_DIR/python" ]; then mkdir -p "$CFG_ROOT_DIR/$VENV_DIR" if [ -f "$CFG_ROOT_DIR/etc/thirdparty/virtualenv.pyz" ]; then VIRTUALENV_PYZ="$CFG_ROOT_DIR/etc/thirdparty/virtualenv.pyz" else VIRTUALENV_PYZ="$CFG_ROOT_DIR/$VENV_DIR/virtualenv.pyz" wget -O "$VIRTUALENV_PYZ" "$VIRTUALENV_PYZ_URL" fi $PYTHON_EXECUTABLE "$VIRTUALENV_PYZ" \ --wheel embed --pip embed --setuptools embed \ --seeder pip \ --never-download \ --no-periodic-update \ --no-vcs-ignore \ $CFG_QUIET \ "$CFG_ROOT_DIR/$VENV_DIR" fi } install_packages() { # install requirements in virtualenv # note: --no-build-isolation means that pip/wheel/setuptools will not # be reinstalled a second time and reused from the virtualenv and this # speeds up the installation. # We always have the PEP517 build dependencies installed already. "$CFG_BIN_DIR/pip" install \ --upgrade \ --no-build-isolation \ $CFG_QUIET \ $PIP_EXTRA_ARGS \ $1 } ################################ # Main command line entry point CFG_DEV_MODE=0 CFG_REQUIREMENTS=$REQUIREMENTS case "$CLI_ARGS" in --help) cli_help;; --clean) clean;; --dev) CFG_REQUIREMENTS="$DEV_REQUIREMENTS" && CFG_DEV_MODE=1;; esac create_virtualenv "$VIRTUALENV_DIR" install_packages "$CFG_REQUIREMENTS" . "$CFG_BIN_DIR/activate" set +e license-expression-21.6.14/configure.bat000077500000000000000000000137061406172227500201750ustar00rootroot00000000000000@echo OFF @setlocal @rem Copyright (c) nexB Inc. and others. All rights reserved. @rem SPDX-License-Identifier: Apache-2.0 @rem See http://www.apache.org/licenses/LICENSE-2.0 for the license text. @rem See https://github.com/nexB/ for support or download. @rem See https://aboutcode.org for more information about nexB OSS projects. @rem ################################ @rem # A configuration script to set things up: @rem # create a virtualenv and install or update thirdparty packages. @rem # Source this script for initial configuration @rem # Use configure --help for details @rem # This script will search for a virtualenv.pyz app in etc\thirdparty\virtualenv.pyz @rem # Otherwise it will download the latest from the VIRTUALENV_PYZ_URL default @rem ################################ @rem ################################ @rem # Defaults. Change these variables to customize this script @rem ################################ @rem # Requirement arguments passed to pip and used by default or with --dev. set "REQUIREMENTS=--editable ." set "DEV_REQUIREMENTS=--editable .[testing]" @rem # where we create a virtualenv set "VIRTUALENV_DIR=tmp" @rem # Cleanable files and directories to delete with the --clean option set "CLEANABLE=build tmp" @rem # extra arguments passed to pip set "PIP_EXTRA_ARGS= " @rem # the URL to download virtualenv.pyz if needed set VIRTUALENV_PYZ_URL=https://bootstrap.pypa.io/virtualenv.pyz @rem ################################ @rem ################################ @rem # Current directory where this script lives set CFG_ROOT_DIR=%~dp0 set "CFG_BIN_DIR=%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\Scripts" @rem ################################ @rem # Set the quiet flag to empty if not defined if not defined CFG_QUIET ( set "CFG_QUIET= " ) @rem ################################ @rem # Main command line entry point set CFG_DEV_MODE=0 set "CFG_REQUIREMENTS=%REQUIREMENTS%" if "%1" EQU "--help" (goto cli_help) if "%1" EQU "--clean" (goto clean) if "%1" EQU "--dev" ( set "CFG_REQUIREMENTS=%DEV_REQUIREMENTS%" set CFG_DEV_MODE=1 ) if "%1" EQU "--python" ( echo "The --python option is now DEPRECATED. Use the PYTHON_EXECUTABLE environment" echo "variable instead. Run configure --help for details." exit /b 0 ) @rem ################################ @rem # find a proper Python to run @rem # Use environment variables or a file if available. @rem # Otherwise the latest Python by default. if not defined PYTHON_EXECUTABLE ( @rem # check for a file named PYTHON_EXECUTABLE if exist ""%CFG_ROOT_DIR%\PYTHON_EXECUTABLE"" ( set /p PYTHON_EXECUTABLE=<""%CFG_ROOT_DIR%\PYTHON_EXECUTABLE"" ) else ( set "PYTHON_EXECUTABLE=py" ) ) :create_virtualenv @rem # create a virtualenv for Python @rem # Note: we do not use the bundled Python 3 "venv" because its behavior and @rem # presence is not consistent across Linux distro and sometimes pip is not @rem # included either by default. The virtualenv.pyz app cures all these issues. if not exist ""%CFG_BIN_DIR%\python.exe"" ( if not exist "%CFG_BIN_DIR%" ( mkdir %CFG_BIN_DIR% ) if exist ""%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz"" ( %PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" ^ --wheel embed --pip embed --setuptools embed ^ --seeder pip ^ --never-download ^ --no-periodic-update ^ --no-vcs-ignore ^ %CFG_QUIET% ^ %CFG_ROOT_DIR%\%VIRTUALENV_DIR% ) else ( if not exist ""%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz"" ( curl -o "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" %VIRTUALENV_PYZ_URL% if %ERRORLEVEL% neq 0 ( exit /b %ERRORLEVEL% ) ) %PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" ^ --wheel embed --pip embed --setuptools embed ^ --seeder pip ^ --never-download ^ --no-periodic-update ^ --no-vcs-ignore ^ %CFG_QUIET% ^ %CFG_ROOT_DIR%\%VIRTUALENV_DIR% ) ) if %ERRORLEVEL% neq 0 ( exit /b %ERRORLEVEL% ) :install_packages @rem # install requirements in virtualenv @rem # note: --no-build-isolation means that pip/wheel/setuptools will not @rem # be reinstalled a second time and reused from the virtualenv and this @rem # speeds up the installation. @rem # We always have the PEP517 build dependencies installed already. %CFG_BIN_DIR%\pip install ^ --upgrade ^ --no-build-isolation ^ %CFG_QUIET% ^ %PIP_EXTRA_ARGS% ^ %CFG_REQUIREMENTS% mklink /J %CFG_ROOT_DIR%\%VIRTUALENV_DIR%\bin %CFG_ROOT_DIR%\%VIRTUALENV_DIR%\Scripts if %ERRORLEVEL% neq 0 ( exit /b %ERRORLEVEL% ) exit /b 0 @rem ################################ :cli_help echo An initial configuration script echo " usage: configure [options]" echo " " echo The default is to configure for regular use. Use --dev for development. echo " " echo The options are: echo " --clean: clean built and installed files and exit." echo " --dev: configure the environment for development." echo " --help: display this help message and exit." echo " " echo By default, the python interpreter version found in the path is used. echo Alternatively, the PYTHON_EXECUTABLE environment variable can be set to echo configure another Python executable interpreter to use. If this is not echo set, a file named PYTHON_EXECUTABLE containing a single line with the echo path of the Python executable to use will be checked last. exit /b 0 :clean @rem # Remove cleanable file and directories and files from the root dir. echo "* Cleaning ..." for %%F in (%CLEANABLE%) do ( rmdir /s /q "%CFG_ROOT_DIR%\%%F" >nul 2>&1 del /f /q "%CFG_ROOT_DIR%\%%F" >nul 2>&1 ) exit /b 0 license-expression-21.6.14/docs/000077500000000000000000000000001406172227500164425ustar00rootroot00000000000000license-expression-21.6.14/docs/Makefile000066400000000000000000000011761406172227500201070ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = source BUILDDIR = build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) license-expression-21.6.14/docs/make.bat000066400000000000000000000014371406172227500200540ustar00rootroot00000000000000@ECHO OFF pushd %~dp0 REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=source set BUILDDIR=build if "%1" == "" goto help %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end popd license-expression-21.6.14/docs/scripts/000077500000000000000000000000001406172227500201315ustar00rootroot00000000000000license-expression-21.6.14/docs/scripts/doc8_style_check.sh000066400000000000000000000002031406172227500236720ustar00rootroot00000000000000#!/bin/bash # halt script on error set -e # Check for Style Code Violations doc8 --max-line-length 100 source --ignore D000 --quietlicense-expression-21.6.14/docs/scripts/sphinx_build_link_check.sh000066400000000000000000000001741406172227500253310ustar00rootroot00000000000000#!/bin/bash # halt script on error set -e # Build locally, and then check links sphinx-build -E -W -b linkcheck source buildlicense-expression-21.6.14/docs/source/000077500000000000000000000000001406172227500177425ustar00rootroot00000000000000license-expression-21.6.14/docs/source/conf.py000066400000000000000000000041651406172227500212470ustar00rootroot00000000000000# Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'nexb-skeleton' copyright = 'nexb Inc.' author = 'nexb Inc.' # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = [] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] html_context = { 'css_files': [ '_static/theme_overrides.css', # override wide tables in RTD theme ], "display_github": True, "github_user": "nexB", "github_repo": "nexb-skeleton", "github_version": "develop", # branch "conf_py_path": "/docs/source/", # path in the checkout to the docs root }license-expression-21.6.14/docs/source/index.rst000066400000000000000000000003701406172227500216030ustar00rootroot00000000000000Welcome to nexb-skeleton's documentation! ========================================= .. toctree:: :maxdepth: 2 :caption: Contents: skeleton/index Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` license-expression-21.6.14/docs/source/skeleton/000077500000000000000000000000001406172227500215665ustar00rootroot00000000000000license-expression-21.6.14/docs/source/skeleton/index.rst000066400000000000000000000012641406172227500234320ustar00rootroot00000000000000# Docs Structure Guide # Rst docs - https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html # # 1. Place docs in folders under source for different sections # 2. Link them by adding individual index files in each section # to the main index, and then files for each section to their # respective index files. # 3. Use `.. include` statements to include other .rst files # or part of them, or use hyperlinks to a section of the docs, # to get rid of repetition. # https://docutils.sourceforge.io/docs/ref/rst/directives.html#including-an-external-document-fragment # # Note: Replace these guide/placeholder docs .. include:: ../../../README.rst license-expression-21.6.14/etc/000077500000000000000000000000001406172227500162655ustar00rootroot00000000000000license-expression-21.6.14/etc/ci/000077500000000000000000000000001406172227500166605ustar00rootroot00000000000000license-expression-21.6.14/etc/ci/azure-posix.yml000066400000000000000000000024341406172227500216740ustar00rootroot00000000000000parameters: job_name: '' image_name: '' python_versions: [] test_suites: {} python_architecture: x64 jobs: - job: ${{ parameters.job_name }} pool: vmImage: ${{ parameters.image_name }} strategy: matrix: ${{ each pyver in parameters.python_versions }}: ${{ each tsuite in parameters.test_suites }}: ${{ format('py{0} {1}', pyver, tsuite.key) }}: python_version: ${{ pyver }} test_suite_label: ${{ tsuite.key }} test_suite: ${{ tsuite.value }} steps: - checkout: self fetchDepth: 10 - task: UsePythonVersion@0 inputs: versionSpec: '$(python_version)' architecture: '${{ parameters.python_architecture }}' displayName: 'Install Python $(python_version)' - script: | python3 --version python$(python_version) --version echo "python$(python_version)" > PYTHON_EXECUTABLE ./configure --dev displayName: 'Run Configure' - script: $(test_suite) displayName: 'Run $(test_suite_label) tests with py$(python_version) on ${{ parameters.job_name }}' license-expression-21.6.14/etc/ci/azure-win.yml000066400000000000000000000023301406172227500213220ustar00rootroot00000000000000parameters: job_name: '' image_name: '' python_versions: [] test_suites: {} python_architecture: x64 jobs: - job: ${{ parameters.job_name }} pool: vmImage: ${{ parameters.image_name }} strategy: matrix: ${{ each pyver in parameters.python_versions }}: ${{ each tsuite in parameters.test_suites }}: ${{ format('py{0} {1}', pyver, tsuite.key) }}: python_version: ${{ pyver }} test_suite_label: ${{ tsuite.key }} test_suite: ${{ tsuite.value }} steps: - checkout: self fetchDepth: 10 - task: UsePythonVersion@0 inputs: versionSpec: '$(python_version)' architecture: '${{ parameters.python_architecture }}' displayName: 'Install Python $(python_version)' - script: | python --version echo | set /p=python> PYTHON_EXECUTABLE configure --dev displayName: 'Run Configure' - script: $(test_suite) displayName: 'Run $(test_suite_label) tests with py$(python_version) on ${{ parameters.job_name }}' license-expression-21.6.14/license-expression.ABOUT000066400000000000000000000003261406172227500221260ustar00rootroot00000000000000about_resource: . name: license-expression copyright: Copyright (c) nexB Inc. and others. license_expression: apache-2.0 license_file: apache-2.0.LICENSE homepage_url: https://github.com/nexB/license-expression license-expression-21.6.14/pyproject.toml000066400000000000000000000014731406172227500204330ustar00rootroot00000000000000[build-system] requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 6"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] # this is used populated when creating a git archive # and when there is .git dir and/or there is no git installed fallback_version = "9999.475a246-2021-06-14" [tool.pytest.ini_options] norecursedirs = [ ".git", "bin", "dist", "build", "_build", "dist", "etc", "local", "ci", "docs", "man", "share", "samples", ".cache", ".settings", "Include", "include", "Lib", "lib", "lib64", "Lib64", "Scripts", "thirdparty", "tmp", "tests/data", ".eggs" ] python_files = "*.py" python_classes = "Test" python_functions = "test" addopts = [ "-rfExXw", "--strict-markers", "--doctest-modules" ] license-expression-21.6.14/setup.cfg000066400000000000000000000025011406172227500173310ustar00rootroot00000000000000[metadata] license_files = apache-2.0.LICENSE NOTICE AUTHORS.rst CHANGELOG.rst name = license-expression author = nexB. Inc. and others author_email = info@aboutcode.org license = Apache-2.0 # description must be on ONE line https://github.com/pypa/setuptools/issues/1390 description = license-expression is a comprehensive utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic. long_description = file:README.rst url = https://github.com/nexB/license-expression classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Developers Programming Language :: Python :: 3 Programming Language :: Python :: 3 :: Only Topic :: Software Development Topic :: Utilities keywords = open source license expression license spdx boolean parse expression normalize expression compare expression licence [options] package_dir= =src packages=find: include_package_data = true zip_safe = false install_requires = boolean.py >= 3.6, < 4.0.0 setup_requires = setuptools_scm[toml] >= 4 [options.packages.find] where=src [options.extras_require] testing = # upstream pytest >= 6 pytest-xdist >= 2 docs= Sphinx>=3.3.1 sphinx-rtd-theme>=0.5.0 doc8>=0.8.1 license-expression-21.6.14/setup.py000066400000000000000000000001341406172227500172220ustar00rootroot00000000000000#!/usr/bin/env python import setuptools if __name__ == "__main__": setuptools.setup() license-expression-21.6.14/src/000077500000000000000000000000001406172227500163015ustar00rootroot00000000000000license-expression-21.6.14/src/license_expression/000077500000000000000000000000001406172227500222025ustar00rootroot00000000000000license-expression-21.6.14/src/license_expression/__init__.py000066400000000000000000001713551406172227500243270ustar00rootroot00000000000000# # Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text. # See https://github.com/nexB/license-expression for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # """ This module defines a mini language to parse, validate, deduplicate, simplify, normalize and compare license expressions using a boolean logic engine. This supports SPDX and ScanCode license expressions and also accepts other license naming conventions and license identifiers aliases to recognize and normalize licenses. Using boolean logic, license expressions can be tested for equality, containment, equivalence and can be normalized, deduplicated or simplified. The main entry point is the Licensing object. """ import itertools import json import re import string from collections import defaultdict from collections import deque from collections import namedtuple from copy import copy from copy import deepcopy from functools import total_ordering from os.path import abspath from os.path import dirname from os.path import join import boolean from boolean import Expression as LicenseExpression # note these may not all be used here but are imported here to avoid leaking # boolean.py constants to callers from boolean.boolean import PARSE_ERRORS from boolean.boolean import PARSE_INVALID_EXPRESSION from boolean.boolean import PARSE_INVALID_NESTING from boolean.boolean import PARSE_INVALID_OPERATOR_SEQUENCE from boolean.boolean import PARSE_INVALID_SYMBOL_SEQUENCE from boolean.boolean import PARSE_UNBALANCED_CLOSING_PARENS from boolean.boolean import PARSE_UNKNOWN_TOKEN from boolean.boolean import ParseError from boolean.boolean import TOKEN_SYMBOL from boolean.boolean import TOKEN_AND from boolean.boolean import TOKEN_OR from boolean.boolean import TOKEN_LPAR from boolean.boolean import TOKEN_RPAR from license_expression._pyahocorasick import Trie as AdvancedTokenizer from license_expression._pyahocorasick import Token curr_dir = dirname(abspath(__file__)) data_dir = join(curr_dir, 'data') vendored_scancode_licensedb_index_location = join( data_dir, 'scancode-licensedb-index.json', ) # append new error codes to PARSE_ERRORS by monkey patching PARSE_EXPRESSION_NOT_UNICODE = 100 if PARSE_EXPRESSION_NOT_UNICODE not in PARSE_ERRORS: PARSE_ERRORS[PARSE_EXPRESSION_NOT_UNICODE] = ( 'Expression string must be a string.' ) PARSE_INVALID_EXCEPTION = 101 if PARSE_INVALID_EXCEPTION not in PARSE_ERRORS: PARSE_ERRORS[PARSE_INVALID_EXCEPTION] = ( 'A license exception symbol can only be used as an exception ' 'in a "WITH exception" statement.' ) PARSE_INVALID_SYMBOL_AS_EXCEPTION = 102 if PARSE_INVALID_SYMBOL_AS_EXCEPTION not in PARSE_ERRORS: PARSE_ERRORS[PARSE_INVALID_SYMBOL_AS_EXCEPTION] = ( 'A plain license symbol cannot be used as an exception ' 'in a "WITH symbol" statement.' ) PARSE_INVALID_SYMBOL = 103 if PARSE_INVALID_SYMBOL not in PARSE_ERRORS: PARSE_ERRORS[PARSE_INVALID_SYMBOL] = ( 'A proper license symbol is needed.' ) class ExpressionError(Exception): pass class ExpressionParseError(ParseError, ExpressionError): pass # Used for tokenizing Keyword = namedtuple('Keyword', 'value type') Keyword.__len__ = lambda self: len(self.value) # id for the "WITH" token which is not a proper boolean symbol but an expression # symbol TOKEN_WITH = 10 # keyword types that include operators and parens KW_LPAR = Keyword('(', TOKEN_LPAR) KW_RPAR = Keyword(')', TOKEN_RPAR) KW_AND = Keyword('and', TOKEN_AND) KW_OR = Keyword('or', TOKEN_OR) KW_WITH = Keyword('with', TOKEN_WITH) KEYWORDS = (KW_AND, KW_OR, KW_LPAR, KW_RPAR, KW_WITH,) KEYWORDS_STRINGS = set(kw.value for kw in KEYWORDS) # mapping of lowercase operator strings to an operator object OPERATORS = {'and': KW_AND, 'or': KW_OR, 'with': KW_WITH} _simple_tokenizer = re.compile(r''' (?P[^\s\(\)]+) | (?P\s+) | (?P\() | (?P\)) ''', re.VERBOSE | re.MULTILINE | re.UNICODE ).finditer class ExpressionInfo: """ The ExpressionInfo class is returned by Licensing.validate() where it stores information about a given license expression passed into Licensing.validate(). The ExpressionInfo class has the following fields: - original_expression: str. - This is the license expression that was originally passed into Licensing.validate() - normalized_expression: str. - If a valid license expression has been passed into `validate()`, then the license expression string will be set in this field. - errors: list - If there were errors validating a license expression, the error messages will be appended here. - invalid_symbols: list - If the license expression that has been passed into `validate()` has license keys that are invalid (either that they are unknown or not used in the right context), or the syntax is incorrect because an invalid symbol was used, then those symbols will be appended here. """ def __init__( self, original_expression, normalized_expression=None, errors=None, invalid_symbols=None, ): self.original_expression = original_expression self.normalized_expression = normalized_expression self.errors = errors or [] self.invalid_symbols = invalid_symbols or [] def __repr__(self): return ( 'ExpressionInfo(\n' f' original_expression={self.original_expression!r},\n' f' normalized_expression={self.normalized_expression!r},\n' f' errors={self.errors!r},\n' f' invalid_symbols={self.invalid_symbols!r}\n' ')' ) class Licensing(boolean.BooleanAlgebra): """ Licensing defines a mini language to parse, validate and compare license expressions. This is the main entry point in this library. Some of the features are: - licenses can be validated against user-provided lists of known licenses "symbols" (such as ScanCode licenses or the SPDX list). - flexible expression parsing and recognition of licenses (including licenses with spaces and keywords (such as AND, OR WITH) or parens in their names). - in an expression licenses can be more than just identifiers such as short or long names with spaces, symbols and even parenthesis. - A license can have multiple aliases (such as GPL-2.0, GPLv2 or GPL2) and each will be properly recognized when parsing. The expression is rendered normalized using the canononical license keys. - expressions can be deduplicated, simplified, normalized, sorted and compared for containment and/or logical equivalence thanks to a built-in boolean logic engine. - Once parsed, expressions can be rendered using simple templates (for instance to render as HTML links in a web UI). For example:: >>> l = Licensing() >>> expr = l.parse(" GPL-2.0 or LGPL-2.1 and mit ") >>> expected = 'GPL-2.0 OR (LGPL-2.1 AND mit)' >>> assert expected == expr.render('{symbol.key}') >>> expected = [ ... LicenseSymbol('GPL-2.0'), ... LicenseSymbol('LGPL-2.1'), ... LicenseSymbol('mit') ... ] >>> assert expected == l.license_symbols(expr) >>> symbols = ['GPL-2.0+', 'Classpath', 'BSD'] >>> l = Licensing(symbols) >>> expression = 'GPL-2.0+ with Classpath or (bsd)' >>> parsed = l.parse(expression) >>> expected = 'GPL-2.0+ WITH Classpath OR BSD' >>> assert expected == parsed.render('{symbol.key}') >>> expected = [ ... LicenseSymbol('GPL-2.0+'), ... LicenseSymbol('Classpath'), ... LicenseSymbol('BSD') ... ] >>> assert expected == l.license_symbols(parsed) >>> assert expected == l.license_symbols(expression) """ def __init__(self, symbols=tuple(), quiet=True): """ Initialize a Licensing with an optional ``symbols`` sequence of LicenseSymbol or LicenseSymbol-like objects or license key strings. If provided and this list data is invalid, raise a ValueError. Print warning and errors found in the symbols unless ``quiet`` is True. """ super(Licensing, self).__init__( Symbol_class=LicenseSymbol, AND_class=AND, OR_class=OR, ) # FIXME: this should be instead a super class of all symbols self.LicenseSymbol = self.Symbol symbols = symbols or tuple() if symbols: symbols = tuple(as_symbols(symbols)) warns, errors = validate_symbols(symbols) if warns and not quiet: for w in warns: print(w) if errors and not quiet: for e in errors: print(e) if errors: raise ValueError('\n'.join(warns + errors)) # mapping of known symbol key to symbol for reference self.known_symbols = { symbol.key: symbol for symbol in symbols } # mapping of known symbol lowercase key to symbol for reference self.known_symbols_lowercase = { symbol.key.lower(): symbol for symbol in symbols } # Aho-Corasick automaton-based Advanced Tokenizer self.advanced_tokenizer = None def is_equivalent(self, expression1, expression2, **kwargs): """ Return True if both ``expression1`` and ``expression2`` LicenseExpression objects are equivalent. If a string is provided, it will be parsed and simplified. Extra ``kwargs`` are passed down to the parse() function. Raise ExpressionError on parse errors. """ ex1 = self._parse_and_simplify(expression1, **kwargs) ex2 = self._parse_and_simplify(expression2, **kwargs) return ex1 == ex2 def contains(self, expression1, expression2, **kwargs): """ Return True if ``expression1`` contains ``expression2``. where each expression is either a string or a LicenseExpression object. If a string is provided, it will be parsed and simplified. Extra ``kwargs`` are passed down to the parse() function. """ ex1 = self._parse_and_simplify(expression1, **kwargs) ex2 = self._parse_and_simplify(expression2, **kwargs) return ex2 in ex1 def _parse_and_simplify(self, expression, **kwargs): expression = self.parse(expression, **kwargs) if expression is None: return None if not isinstance(expression, LicenseExpression): raise TypeError( f'expression must be LicenseExpression object: {expression!r}' ) return expression.simplify() def license_symbols(self, expression, unique=True, decompose=True, **kwargs): """ Return a list of LicenseSymbol objects used in an expression in the same order as they first appear in the expression tree. ``expression`` is either a string or a LicenseExpression object. If a string is provided, it will be parsed. If ``unique`` is True only return unique symbols. If ``decompose`` is True then composite LicenseWithExceptionSymbol instances are not returned directly; instead their underlying license and exception symbols are returned. Extra ``kwargs`` are passed down to the parse() function. For example: >>> l = Licensing() >>> expected = [ ... LicenseSymbol('GPL-2.0'), ... LicenseSymbol('LGPL-2.1+') ... ] >>> result = l.license_symbols(l.parse('GPL-2.0 or LGPL-2.1+')) >>> assert expected == result """ expression = self.parse(expression, **kwargs) if expression is None: return [] symbols = (s for s in expression.get_literals() if isinstance(s, BaseSymbol)) if decompose: symbols = itertools.chain.from_iterable(s.decompose() for s in symbols) if unique: symbols = ordered_unique(symbols) return list(symbols) def primary_license_symbol(self, expression, decompose=True, **kwargs): """ Return the left-most license symbol of an ``expression`` or None. ``expression`` is either a string or a LicenseExpression object. If ``decompose`` is True, only the left-hand license symbol of a decomposed LicenseWithExceptionSymbol symbol will be returned if this is the left most member. Otherwise a composite LicenseWithExceptionSymbol is returned in this case. Extra ``kwargs`` are passed down to the parse() function. """ symbols = self.license_symbols(expression, decompose=decompose, **kwargs) if symbols: return symbols[0] def primary_license_key(self, expression, **kwargs): """ Return the left-most license key of an ``expression`` or None. The underlying symbols are decomposed. ``expression`` is either a string or a LicenseExpression object. Extra ``kwargs`` are passed down to the parse() function. """ prim = self.primary_license_symbol( expression=expression, decompose=True, **kwargs, ) if prim: return prim.key def license_keys(self, expression, unique=True, **kwargs): """ Return a list of licenses keys used in an ``expression`` in the same order as they first appear in the expression. ``expression`` is either a string or a LicenseExpression object. If ``unique`` is True only return unique symbols. Extra ``kwargs`` are passed down to the parse() function. For example: >>> l = Licensing() >>> expr = ' GPL-2.0 and mit+ with blabla and mit or LGPL-2.1 and mit and mit+ with GPL-2.0' >>> expected = ['GPL-2.0', 'mit+', 'blabla', 'mit', 'LGPL-2.1'] >>> assert expected == l.license_keys(l.parse(expr)) """ symbols = self.license_symbols( expression=expression, unique=False, decompose=True, **kwargs, ) return self._keys(symbols, unique) def _keys(self, symbols, unique=True): keys = [ls.key for ls in symbols] # note: we only apply this on bare keys strings as we can have the same # symbol used as symbol or exception if we are not in strict mode if unique: keys = ordered_unique(keys) return keys def unknown_license_symbols(self, expression, unique=True, **kwargs): """ Return a list of unknown license symbols used in an ``expression`` in the same order as they first appear in the ``expression``. ``expression`` is either a string or a LicenseExpression object. If ``unique`` is True only return unique symbols. Extra ``kwargs`` are passed down to the parse() function. """ symbols = self.license_symbols( expression=expression, unique=unique, decompose=True, **kwargs, ) return [ls for ls in symbols if not ls.key in self.known_symbols] def unknown_license_keys(self, expression, unique=True, **kwargs): """ Return a list of unknown licenses keys used in an ``expression`` in the same order as they first appear in the ``expression``. ``expression`` is either a string or a LicenseExpression object. If a string is provided, it will be parsed. If ``unique`` is True only return unique keys. Extra ``kwargs`` are passed down to the parse() function. """ symbols = self.unknown_license_symbols( expression=expression, unique=False, **kwargs, ) return self._keys(symbols, unique) def validate_license_keys(self, expression): unknown_keys = self.unknown_license_keys(expression, unique=True) if unknown_keys: msg = 'Unknown license key(s): {}'.format(', '.join(unknown_keys)) raise ExpressionError(msg) def parse( self, expression, validate=False, strict=False, simple=False, **kwargs ): """ Return a new license LicenseExpression object by parsing a license ``expression``. Check that the ``expression`` syntax is valid and raise an ExpressionError or an ExpressionParseError on errors. Return None for empty expressions. ``expression`` is either a string or a LicenseExpression object. If ``expression`` is a LicenseExpression it is returned as-is. Symbols are always recognized from known Licensing symbols if `symbols` were provided at Licensing creation time: each license and exception is recognized from known license keys (and from aliases for a symbol if available). If ``validate`` is True and a license is unknown, an ExpressionError error is raised with a message listing the unknown license keys. If ``validate`` is False, no error is raised if the ``expression`` syntax is correct. You can call further call the `unknown_license_keys()` or `unknown_license_symbols()` methods to get unknown license keys or symbols found in the parsed LicenseExpression. If ``strict`` is True, an ExpressionError will be raised if in a "WITH" expression such as "XXX with ZZZ" if the XXX symbol has `is_exception` set to True or the YYY symbol has `is_exception` set to False. This checks that symbols are used strictly as intended in a "WITH" subexpression using a license on the left and an exception on thr right. If ``simple`` is True, parsing will use a simple tokenizer that assumes that license symbols are all license keys and do not contain spaces. For example: >>> expression = 'EPL-1.0 and Apache-1.1 OR GPL-2.0 with Classpath-exception' >>> parsed = Licensing().parse(expression) >>> expected = '(EPL-1.0 AND Apache-1.1) OR GPL-2.0 WITH Classpath-exception' >>> assert expected == parsed.render(template='{symbol.key}') """ if expression is None: return if isinstance(expression, LicenseExpression): return expression if isinstance(expression, bytes): try: expression = str(expression) except: ext = type(expression) raise ExpressionError( f'expression must be a string and not: {ext!r}' ) if not isinstance(expression, str): ext = type(expression) raise ExpressionError( f'expression must be a string and not: {ext!r}' ) if not expression or not expression.strip(): return try: # this will raise a ParseError on errors tokens = list(self.tokenize( expression=expression, strict=strict, simple=simple, )) expression = super(Licensing, self).parse(tokens) except ParseError as e: raise ExpressionParseError( token_type=e.token_type, token_string=e.token_string, position=e.position, error_code=e.error_code, ) from e if not isinstance(expression, LicenseExpression): raise ExpressionError( 'expression must be a LicenseExpression once parsed.') if validate: self.validate_license_keys(expression) return expression def tokenize(self, expression, strict=False, simple=False): """ Return an iterable of 3-tuple describing each token given an ``expression`` string. See boolean.BooleanAlgreba.tokenize() for API details. This 3-tuple contains these items: (token, token string, position): - token: either a Symbol instance or one of TOKEN_* token types.. - token string: the original token string. - position: the starting index of the token string in the `expr` string. If ``strict`` is True, additional exceptions will be raised in a expression such as "XXX with ZZZ" if the XXX symbol has is_exception` set to True or the ZZZ symbol has `is_exception` set to False. If ``simple`` is True, use a simple tokenizer that assumes that license symbols are all license keys that do not contain spaces. """ if not expression: return if not isinstance(expression, str): raise ParseError(error_code=PARSE_EXPRESSION_NOT_UNICODE) if simple: tokens = self.simple_tokenizer(expression) else: advanced_tokenizer = self.get_advanced_tokenizer() tokens = advanced_tokenizer.tokenize(expression) # Assign symbol for unknown tokens tokens = build_symbols_from_unknown_tokens(tokens) # skip whitespace-only tokens tokens = (t for t in tokens if t.string and t.string.strip()) # create atomic LicenseWithExceptionSymbol from WITH subexpressions tokens = replace_with_subexpression_by_license_symbol(tokens, strict) # finally yield the actual args expected by the boolean parser for token in tokens: pos = token.start token_string = token.string token_value = token.value if isinstance(token_value, BaseSymbol): token_obj = token_value elif isinstance(token_value, Keyword): token_obj = token_value.type else: raise ParseError(error_code=PARSE_INVALID_EXPRESSION) yield token_obj, token_string, pos def get_advanced_tokenizer(self): """ Return an AdvancedTokenizer instance for this Licensing either cached or created as needed. If symbols were provided when this Licensing object was created, the tokenizer will recognize known symbol keys and aliases (ignoring case) when tokenizing expressions. A license symbol is any string separated by keywords and parens (and it can include spaces). """ if self.advanced_tokenizer is not None: return self.advanced_tokenizer self.advanced_tokenizer = tokenizer = AdvancedTokenizer() add_item = tokenizer.add for keyword in KEYWORDS: add_item(keyword.value, keyword) # self.known_symbols has been created at Licensing initialization time # and is already validated and trusted here for key, symbol in self.known_symbols.items(): # always use the key even if there are no aliases. add_item(key, symbol) aliases = getattr(symbol, 'aliases', []) for alias in aliases: # normalize spaces for each alias. The AdvancedTokenizer will # lowercase them if alias: alias = ' '.join(alias.split()) add_item(alias, symbol) tokenizer.make_automaton() return tokenizer def advanced_tokenizer(self, expression): """ Return an iterable of Token from an ``expression`` string. """ tokenizer = self.get_advanced_tokenizer() return tokenizer.tokenize(expression) def simple_tokenizer(self, expression): """ Return an iterable of Token from an ``expression`` string. The split is done on spaces, keywords and parens. Anything else is a symbol token, e.g. a typically license key or license id (that contains no spaces or parens). If symbols were provided when this Licensing object was created, the tokenizer will recognize known symbol keys (ignoring case) when tokenizing expressions. """ symbols = self.known_symbols_lowercase or {} for match in _simple_tokenizer(expression): if not match: continue # set start and end as string indexes start, end = match.span() end = end - 1 match_getter = match.groupdict().get space = match_getter('space') if space: yield Token(start, end, space, None) lpar = match_getter('lpar') if lpar: yield Token(start, end, lpar, KW_LPAR) rpar = match_getter('rpar') if rpar: yield Token(start, end, rpar, KW_RPAR) sym_or_op = match_getter('symop') if sym_or_op: sym_or_op_lower = sym_or_op.lower() operator = OPERATORS.get(sym_or_op_lower) if operator: yield Token(start, end, sym_or_op, operator) else: sym = symbols.get(sym_or_op_lower) if not sym: sym = LicenseSymbol(key=sym_or_op) yield Token(start, end, sym_or_op, sym) def dedup(self, expression): """ Return a deduplicated LicenseExpression given a license ``expression`` string or LicenseExpression object. The deduplication process is similar to simplification but is specialized for working with license expressions. Simplification is otherwise a generic boolean operation that is not aware of the specifics of license expressions. The deduplication: - Does not sort the licenses of sub-expression in an expression. They stay in the same order as in the original expression. - Choices (as in "MIT or GPL") are kept as-is and not treated as simplifiable. This avoids droping important choice options in complex expressions which is never desirable. """ exp = self.parse(expression) expressions = [] for arg in exp.args: if isinstance(arg, (self.AND, self.OR,)): # Run this recursive function if there is another AND/OR # expression and add the expression to the expressions list. expressions.append(self.dedup(arg)) else: expressions.append(arg) if isinstance(exp, BaseSymbol): deduped = exp elif isinstance(exp, (self.AND, self.OR,)): relation = exp.__class__.__name__ deduped = combine_expressions( expressions, relation=relation, unique=True, licensing=self, ) else: raise ExpressionError(f'Unknown expression type: {expression!r}') return deduped def validate(self, expression, strict=True, **kwargs): """ Return a ExpressionInfo object that contains information about the validation of an ``expression`` license expression string. If the syntax and license keys of ``expression`` is valid, then `ExpressionInfo.normalized_license_expression` is set. If an error was encountered when validating ``expression``, `ExpressionInfo.errors` will be populated with strings containing the error message that has occured. If an error has occured due to unknown license keys or an invalid license symbol, the offending keys or symbols will be present in `ExpressionInfo.invalid_symbols` If ``strict`` is True, validation error messages will be included if in a "WITH" expression such as "XXX with ZZZ" if the XXX symbol has `is_exception` set to True or the YYY symbol has `is_exception` set to False. This checks that exception symbols are used strictly as intended on the right side of a "WITH" statement. """ expression_info = ExpressionInfo(original_expression=str(expression)) # Check `expression` type and syntax try: parsed_expression = self.parse(expression, strict=strict) except ExpressionError as e: expression_info.errors.append(str(e)) expression_info.invalid_symbols.append(e.token_string) return expression_info # Check `expression` keys (validate) try: self.validate_license_keys(expression) except ExpressionError as e: expression_info.errors.append(str(e)) unknown_keys = self.unknown_license_keys(expression) expression_info.invalid_symbols.extend(unknown_keys) return expression_info # If we have not hit an exception, set `normalized_expression` in # `expression_info` only if we did not encounter any errors # along the way if not expression_info.errors and not expression_info.invalid_symbols: expression_info.normalized_expression = str(parsed_expression) return expression_info def get_scancode_licensing( license_index_location=vendored_scancode_licensedb_index_location ): """ Return a Licensing object using ScanCode license keys loaded from a ``license_index_location`` location of a license db JSON index files See https://scancode-licensedb.aboutcode.org/index.json """ return build_licensing(get_license_index(license_index_location)) def get_spdx_licensing( license_index_location=vendored_scancode_licensedb_index_location ): """ Return a Licensing object using SPDX license keys loaded from a ``license_index_location`` location of a license db JSON index files See https://scancode-licensedb.aboutcode.org/index.json """ return build_spdx_licensing(get_license_index(license_index_location)) def get_license_index( license_index_location=vendored_scancode_licensedb_index_location ): """ Return a list of mappings that contain license key information from ``license_index_location`` The default value of `license_index_location` points to a vendored copy of the license index from https://scancode-licensedb.aboutcode.org/ """ with open(license_index_location) as f: return json.load(f) def load_licensing_from_license_index(license_index): """ Return a Licensing object that has been loaded with license keys and attributes from a ``license_index`` list of license mappings. """ syms = [LicenseSymbol(**l) for l in license_index] return Licensing(syms) def build_licensing(license_index): """ Return a Licensing object that has been loaded with license keys and attributes from a ``license_index`` list of simple ScanCode license mappings. """ lics = [ { 'key': l.get('license_key', ''), 'is_exception': l.get('is_exception', ''), } for l in license_index if not l.get('is_deprecated', False) ] return load_licensing_from_license_index(lics) def build_spdx_licensing(license_index): """ Return a Licensing object that has been loaded with license keys and attributes from a ``license_index`` list of simple SPDX license mappings. """ # Massage data such that SPDX license key is the primary license key lics = [ { 'key': l.get('spdx_license_key', ''), 'aliases': l.get('other_spdx_license_keys', []), 'is_exception': l.get('is_exception', ''), } for l in license_index if l.get('spdx_license_key') and not l.get('is_deprecated', False) ] return load_licensing_from_license_index(lics) def build_symbols_from_unknown_tokens(tokens): """ Yield Token given a ``token`` sequence of Token replacing unmatched contiguous tokens by a single token with a LicenseSymbol. """ tokens = list(tokens) unmatched = deque() def build_token_with_symbol(): """ Build and return a new Token from accumulated unmatched tokens or None. """ if not unmatched: return # strip trailing spaces trailing_spaces = [] while unmatched and not unmatched[-1].string.strip(): trailing_spaces.append(unmatched.pop()) if unmatched: string = ' '.join(t.string for t in unmatched if t.string.strip()) start = unmatched[0].start end = unmatched[-1].end toksym = LicenseSymbol(string) unmatched.clear() yield Token(start, end, string, toksym) for ts in trailing_spaces: yield ts for tok in tokens: if tok.value: for symtok in build_token_with_symbol(): yield symtok yield tok else: if not unmatched and not tok.string.strip(): # skip leading spaces yield tok else: unmatched.append(tok) # end remainders for symtok in build_token_with_symbol(): yield symtok def build_token_groups_for_with_subexpression(tokens): """ Yield tuples of Token given a ``tokens`` sequence of Token such that: - all "XXX WITH YYY" sequences of 3 tokens are grouped in a three-tuple - single tokens are just wrapped in a tuple for consistency. """ # if n-1 is sym, n is with and n+1 is sym: yield this as a group for a with # exp otherwise: yield each single token as a group tokens = list(tokens) # check three contiguous tokens that may form "lic WITh exception" sequence triple_len = 3 # shortcut if there are no grouping possible if len(tokens) < triple_len: for tok in tokens: yield (tok,) return # accumulate three contiguous tokens triple = deque() triple_popleft = triple.popleft triple_clear = triple.clear tripple_append = triple.append for tok in tokens: if len(triple) == triple_len: if is_with_subexpression(triple): yield tuple(triple) triple_clear() else: prev_tok = triple_popleft() yield (prev_tok,) tripple_append(tok) # end remainders if triple: if len(triple) == triple_len and is_with_subexpression(triple): yield tuple(triple) else: for tok in triple: yield (tok,) def is_with_subexpression(tokens_tripple): """ Return True if a ``tokens_tripple`` Token tripple is a "WITH" license sub- expression. """ lic, wit, exc = tokens_tripple return (isinstance(lic.value, LicenseSymbol) and wit.value == KW_WITH and isinstance(exc.value, LicenseSymbol) ) def replace_with_subexpression_by_license_symbol(tokens, strict=False): """ Given a ``tokens`` iterable of Token, yield updated Token(s) replacing any "XXX WITH ZZZ" subexpression by a LicenseWithExceptionSymbol symbol. Check validity of WITH subexpessions and raise ParseError on errors. If ``strict`` is True also raise ParseError if the left hand side LicenseSymbol has `is_exception` True or if the right hand side LicenseSymbol has `is_exception` False. """ token_groups = build_token_groups_for_with_subexpression(tokens) for token_group in token_groups: len_group = len(token_group) if not len_group: # This should never happen continue if len_group == 1: # a single token token = token_group[0] tval = token.value if isinstance(tval, Keyword): if tval.type == TOKEN_WITH: # keyword # a single group cannot be a single 'WITH' keyword: # this is an error that we catch and raise here. raise ParseError( token_type=TOKEN_WITH, token_string=token.string, position=token.start, error_code=PARSE_INVALID_EXPRESSION, ) elif isinstance(tval, LicenseSymbol): if strict and tval.is_exception: raise ParseError( token_type=TOKEN_SYMBOL, token_string=token.string, position=token.start, error_code=PARSE_INVALID_EXCEPTION, ) else: # this should not be possible by design raise Exception( f'Licensing.tokenize is internally confused...: {tval!r}') yield token continue if len_group != 3: # this should never happen string = ' '.join([tok.string for tok in token_group]) start = token_group[0].start raise ParseError( token_type=TOKEN_SYMBOL, token_string=string, position=start, error_code=PARSE_INVALID_EXPRESSION, ) # from now on we have a tripple of tokens: a WITH sub-expression such as # "A with B" seq of three tokens lic_token, WITH , exc_token = token_group lic = lic_token.string exc = exc_token.string WITH = WITH.string.strip() token_string = f'{lic} {WITH} {exc}' # the left hand side license symbol lic_sym = lic_token.value # this should not happen if not isinstance(lic_sym, LicenseSymbol): raise ParseError( token_type=TOKEN_SYMBOL, token_string=lic_token.string, position=lic_token.start, error_code=PARSE_INVALID_SYMBOL, ) if strict and lic_sym.is_exception: raise ParseError( token_type=TOKEN_SYMBOL, token_string=lic_token.string, position=lic_token.start, error_code=PARSE_INVALID_EXCEPTION, ) # the right hand side exception symbol exc_sym = exc_token.value if not isinstance(exc_sym, LicenseSymbol): raise ParseError( token_type=TOKEN_SYMBOL, token_string=lic_sym.string, position=lic_sym.start, error_code=PARSE_INVALID_SYMBOL, ) if strict and not exc_sym.is_exception: raise ParseError( token_type=TOKEN_SYMBOL, token_string=exc_token.string, position=exc_token.start, error_code=PARSE_INVALID_SYMBOL_AS_EXCEPTION, ) lic_exc_sym = LicenseWithExceptionSymbol( license_symbol=lic_sym, exception_symbol=exc_sym, strict=strict, ) token = Token( start=lic_token.start, end=exc_token.end, string=token_string, value=lic_exc_sym, ) yield token class Renderable(object): """ An interface for renderable objects. """ def render(self, template='{symbol.key}', *args, **kwargs): """ Return a formatted string rendering for this expression using the ``template`` format string to render each license symbol. The variables available are `symbol.key` and any other attribute attached to a LicenseSymbol-like instance; a custom ``template`` can be provided to handle custom rendering such as HTML. For symbols that hold multiple licenses (e.g. in a "XXX WITH YYY" statement) the template is applied to each symbol individually. Note that when render() is called the ``*args`` and ``**kwargs`` are passed down recursively to any Renderable object render() method. """ return NotImplementedError def render_as_readable(self, template='{symbol.key}', *args, **kwargs): """ Return a formatted string rendering for this expression using the ``template`` format string to render each symbol. Add extra parenthesis around "WITH" sub-expressions such as in "(XXX WITH YYY)"for improved readbility. See ``render()`` for other arguments. """ if isinstance(self, LicenseWithExceptionSymbol): return self.render( template=template, wrap_with_in_parens=False, *args, **kwargs ) return self.render( template=template, wrap_with_in_parens=True, *args, **kwargs ) class BaseSymbol(Renderable, boolean.Symbol): """ A base class for all symbols. """ def decompose(self): """ Yield the underlying symbols of this symbol. """ raise NotImplementedError def __contains__(self, other): """ Test if the ``other`` symbol is contained in this symbol. """ if not isinstance(other, BaseSymbol): return False if self == other: return True return any(mine == other for mine in self.decompose()) # validate license keys is_valid_license_key = re.compile(r'^[-:\w\s\.\+]+$', re.UNICODE).match # TODO: we need to implement comparison by hand instead @total_ordering class LicenseSymbol(BaseSymbol): """ A LicenseSymbol represents a license key or identifier as used in a license expression. """ def __init__(self, key, aliases=tuple(), is_exception=False, *args, **kwargs): if not key: raise ExpressionError(f'A license key cannot be empty: {key!r}') if not isinstance(key, str): if isinstance(key, bytes): try: key = str(key) except: raise ExpressionError( f'A license key must be a string: {key!r}') else: raise ExpressionError( f'A license key must be a string: {key!r}') key = key.strip() if not key: raise ExpressionError(f'A license key cannot be blank: {key!r}') # note: key can contain spaces if not is_valid_license_key(key): raise ExpressionError( 'Invalid license key: the valid characters are: letters and ' 'numbers, underscore, dot, colon or hyphen signs and ' f'spaces: {key!r}' ) # normalize spaces key = ' '.join(key.split()) if key.lower() in KEYWORDS_STRINGS: raise ExpressionError( 'Invalid license key: a key cannot be a reserved keyword: "or",' f' "and" or "with": {key!r}') self.key = key if aliases and not isinstance(aliases, (list, tuple,)): raise TypeError( f'License aliases: {aliases!r} must be a sequence ' f'and not: {type(aliases)}.' ) self.aliases = aliases and tuple(aliases) or tuple() self.is_exception = is_exception # super only know about a single "obj" object. super(LicenseSymbol, self).__init__(self.key) def decompose(self): """ Return an iterable of the underlying license symbols for this symbol. """ yield self def __hash__(self, *args, **kwargs): return hash((self.key, self.is_exception)) def __eq__(self, other): if self is other: return True if not (isinstance(other, self.__class__) or self.symbol_like(other)): return False return self.key == other.key and self.is_exception == other.is_exception def __ne__(self, other): if self is other: return False if not (isinstance(other, self.__class__) or self.symbol_like(other)): return True return ( self.key != other.key or self.is_exception != other.is_exception ) def __lt__(self, other): if isinstance( other, (LicenseSymbol, LicenseWithExceptionSymbol, LicenseSymbolLike), ): return str(self) < str(other) else: return NotImplemented __nonzero__ = __bool__ = lambda s: True def render(self, template='{symbol.key}', *args, **kwargs): return template.format(symbol=self) def __str__(self): return self.key def __len__(self): return len(self.key) def __repr__(self): cls = self.__class__.__name__ key = self.key aliases = self.aliases and f'aliases={self.aliases!r}, ' or '' is_exception = self.is_exception return f'{cls}({key!r}, {aliases}is_exception={is_exception!r})' def __copy__(self): return LicenseSymbol( key=self.key, aliases=self.aliases and tuple(self.aliases) or tuple(), is_exception=self.is_exception, ) @classmethod def symbol_like(cls, symbol): """ Return True if ``symbol`` is a symbol-like object with its essential attributes. """ return hasattr(symbol, 'key') and hasattr(symbol, 'is_exception') # TODO: we need to implement comparison by hand instead @total_ordering class LicenseSymbolLike(LicenseSymbol): """ A LicenseSymbolLike object wraps a symbol-like object to expose it's LicenseSymbol behavior. """ def __init__(self, symbol_like, *args, **kwargs): if not self.symbol_like(symbol_like): raise ExpressionError(f'Not a symbol-like object: {symbol_like!r}') self.wrapped = symbol_like super(LicenseSymbolLike, self).__init__( key=self.wrapped.key, *args, **kwargs ) self.is_exception = self.wrapped.is_exception self.aliases = getattr(self.wrapped, 'aliases', tuple()) # can we delegate rendering to a render method of the wrapped object? # we can if we have a .render() callable on the wrapped object. self._render = None renderer = getattr(symbol_like, 'render', None) if callable(renderer): self._render = renderer def __copy__(self): return LicenseSymbolLike(symbol_like=self.wrapped) def render(self, template='{symbol.key}', *args, **kwargs): if self._render: return self._render(template, *args, **kwargs) return super(LicenseSymbolLike, self).render(template, *args, **kwargs) __nonzero__ = __bool__ = lambda s: True def __hash__(self, *args, **kwargs): return hash((self.key, self.is_exception)) def __eq__(self, other): if self is other: return True if not (isinstance(other, self.__class__) or self.symbol_like(other)): return False return self.key == other.key and self.is_exception == other.is_exception def __ne__(self, other): if self is other: return False if not (isinstance(other, self.__class__) or self.symbol_like(other)): return True return (self.key != other.key or self.is_exception != other.is_exception) def __lt__(self, other): if isinstance( other, (LicenseSymbol, LicenseWithExceptionSymbol, LicenseSymbolLike)): return str(self) < str(other) else: return NotImplemented # TODO: we need to implement comparison by hand instead @total_ordering class LicenseWithExceptionSymbol(BaseSymbol): """ A LicenseWithExceptionSymbol represents a license with a "WITH" keyword and a license exception such as the Classpath exception. When used in a license expression, this is treated as a single Symbol. It holds two LicenseSymbols objects: one for the left-hand side license proper and one for the right- hand side exception to the license and deals with the specifics of resolution, validation and representation. """ def __init__( self, license_symbol, exception_symbol, strict=False, *args, **kwargs ): """ Initialize a new LicenseWithExceptionSymbol from a ``license_symbol`` and a ``exception_symbol`` symbol-like objects. Raise a ExpressionError exception if ``strict`` is True and either: - ``license_symbol``.is_exception is True - ``exception_symbol``.is_exception is not True """ if not LicenseSymbol.symbol_like(license_symbol): raise ExpressionError( 'license_symbol must be a LicenseSymbol-like object: ' f'{license_symbol!r}', ) if strict and license_symbol.is_exception: raise ExpressionError( 'license_symbol cannot be an exception with the "is_exception" ' f'attribute set to True:{license_symbol!r}', ) if not LicenseSymbol.symbol_like(exception_symbol): raise ExpressionError( 'exception_symbol must be a LicenseSymbol-like object: ' f'{exception_symbol!r}', ) if strict and not exception_symbol.is_exception: raise ExpressionError( 'exception_symbol must be an exception with "is_exception" ' f'set to True: {exception_symbol!r}', ) self.license_symbol = license_symbol self.exception_symbol = exception_symbol super(LicenseWithExceptionSymbol, self).__init__(str(self)) def __copy__(self): return LicenseWithExceptionSymbol( license_symbol=copy(self.license_symbol), exception_symbol=copy(self.exception_symbol), ) def decompose(self): yield self.license_symbol yield self.exception_symbol def render( self, template='{symbol.key}', wrap_with_in_parens=False, *args, **kwargs ): """ Return a formatted "WITH" expression. If ``wrap_with_in_parens``, wrap the expression in parens as in "(XXX WITH YYY)". """ lic = self.license_symbol.render(template, *args, **kwargs) exc = self.exception_symbol.render(template, *args, **kwargs) rend = f'{lic} WITH {exc}' if wrap_with_in_parens: rend = f'({rend})' return rend def __hash__(self, *args, **kwargs): return hash((self.license_symbol, self.exception_symbol,)) def __eq__(self, other): if self is other: return True if not isinstance(other, self.__class__): return False return ( self.license_symbol == other.license_symbol and self.exception_symbol == other.exception_symbol ) def __ne__(self, other): if self is other: return False if not isinstance(other, self.__class__): return True return ( not ( self.license_symbol == other.license_symbol and self.exception_symbol == other.exception_symbol ) ) def __lt__(self, other): if isinstance( other, (LicenseSymbol, LicenseWithExceptionSymbol, LicenseSymbolLike) ): return str(self) < str(other) else: return NotImplemented __nonzero__ = __bool__ = lambda s: True def __str__(self): return f'{self.license_symbol.key} WITH {self.exception_symbol.key}' def __repr__(self): cls = self.__class__.__name__ data = dict(cls=self.__class__.__name__) data.update(self.__dict__) return ( f'{cls}(' f'license_symbol={self.license_symbol!r}, ' f'exception_symbol={self.exception_symbol!r})' ) class RenderableFunction(Renderable): # derived from the __str__ code in boolean.py def render(self, template='{symbol.key}', *args, **kwargs): """ Render an expression as a string, recursively applying the string ``template`` to every symbols and operators. """ expression_args = self.args if len(expression_args) == 1: # a bare symbol sym = expression_args[0] if isinstance(sym, Renderable): sym = sym.render(template, *args, **kwargs) else: # FIXME: CAN THIS EVER HAPPEN since we only have symbols OR and AND? print( 'WARNING: symbol is not renderable: using plain string ' f'representation: {sym!r}' ) sym = str(sym) # NB: the operator str already has a leading and trailing space if self.isliteral: rendered = f'{self.operator}{sym}' else: rendered = f'{self.operator}({sym})' return rendered rendered_items = [] rendered_items_append = rendered_items.append for arg in expression_args: if isinstance(arg, Renderable): # recurse rendered = arg.render(template, *args, **kwargs) else: # FIXME: CAN THIS EVER HAPPEN since we only have symbols OR and AND? print( 'WARNING: object in expression is not renderable: ' f'falling back to plain string representation: {arg!r}.' ) rendered = str(arg) if arg.isliteral: rendered_items_append(rendered) else: rendered_items_append(f'({rendered})') return self.operator.join(rendered_items) class AND(RenderableFunction, boolean.AND): """ Custom representation for the AND operator to uppercase. """ def __init__(self, *args): if len(args) < 2: raise ExpressionError( 'AND requires two or more licenses as in: MIT AND BSD') super(AND, self).__init__(*args) self.operator = ' AND ' class OR(RenderableFunction, boolean.OR): """ Custom representation for the OR operator to uppercase. """ def __init__(self, *args): if len(args) < 2: raise ExpressionError( 'OR requires two or more licenses as in: MIT OR BSD') super(OR, self).__init__(*args) self.operator = ' OR ' def ordered_unique(seq): """ Return unique items in a sequence ``seq`` preserving their original order. """ if not seq: return [] uniques = [] for item in seq: if item in uniques: continue uniques.append(item) return uniques def as_symbols(symbols): """ Return an iterable of LicenseSymbol objects from a ``symbols`` sequence of strings or LicenseSymbol-like objects. If an item is a string, then create a new LicenseSymbol for it using the string as key. If this is not a string it must be a LicenseSymbol- like type. Raise a TypeError expection if an item is neither a string or LicenseSymbol- like. """ if symbols: for symbol in symbols: if not symbol: continue if isinstance(symbol, bytes): try: symbol = str(symbol) except: raise TypeError(f'{symbol!r} is not a string.') if isinstance(symbol, str): if symbol.strip(): yield LicenseSymbol(symbol) elif isinstance(symbol, LicenseSymbol): yield symbol elif LicenseSymbol.symbol_like(symbol): yield LicenseSymbolLike(symbol) else: raise TypeError( f'{symbol!r} is neither a string nor LicenseSymbol-like.' ) def validate_symbols(symbols, validate_keys=False): """ Return a tuple of (`warnings`, `errors`) given a sequence of ``symbols`` LicenseSymbol-like objects. - `warnings` is a list of validation warnings messages (possibly empty if there were no warnings). - `errors` is a list of validation error messages (possibly empty if there were no errors). Keys and aliases are cleaned and validated for uniqueness. If ``validate_keys`` also validate that license keys are known keys. """ # collection used for checking unicity and correctness seen_keys = set() seen_aliases = {} seen_exceptions = set() # collections to accumulate invalid data and build error messages at the end not_symbol_classes = [] dupe_keys = set() dupe_exceptions = set() dupe_aliases = defaultdict(list) invalid_keys_as_kw = set() invalid_alias_as_kw = defaultdict(list) # warning warning_dupe_aliases = set() for symbol in symbols: if not isinstance(symbol, LicenseSymbol): not_symbol_classes.append(symbol) continue key = symbol.key key = key.strip() keyl = key.lower() # ensure keys are unique if keyl in seen_keys: dupe_keys.add(key) # key cannot be an expression keyword if keyl in KEYWORDS_STRINGS: invalid_keys_as_kw.add(key) # keep a set of unique seen keys seen_keys.add(keyl) # aliases is an optional attribute aliases = getattr(symbol, 'aliases', []) initial_alias_len = len(aliases) # always normalize aliases for spaces and case aliases = set([ ' '.join(alias.lower().strip().split()) for alias in aliases ]) # KEEP UNIQUES, remove empties aliases = set(a for a in aliases if a) # issue a warning when there are duplicated or empty aliases if len(aliases) != initial_alias_len: warning_dupe_aliases.add(key) # always add a lowercase key as an alias aliases.add(keyl) for alias in aliases: # note that we do not treat as an error the presence of a duplicated # alias pointing to the same key # ensure that a possibly duplicated alias does not point to another key aliased_key = seen_aliases.get(alias) if aliased_key and aliased_key != keyl: dupe_aliases[alias].append(key) # an alias cannot be an expression keyword if alias in KEYWORDS_STRINGS: invalid_alias_as_kw[key].append(alias) seen_aliases[alias] = keyl if symbol.is_exception: if keyl in seen_exceptions: dupe_exceptions.add(keyl) else: seen_exceptions.add(keyl) # build warning and error messages from invalid data errors = [] for ind in sorted(not_symbol_classes): errors.append(f'Invalid item: not a LicenseSymbol object: {ind!r}.') for dupe in sorted(dupe_keys): errors.append(f'Invalid duplicated license key: {dupe!r}.') for dalias, dkeys in sorted(dupe_aliases.items()): dkeys = ', '.join(dkeys) errors.append( f'Invalid duplicated alias pointing to multiple keys: ' f'{dalias} point to keys: {dkeys!r}.' ) for ikey, ialiases in sorted(invalid_alias_as_kw.items()): ialiases = ', '.join(ialiases) errors.append( f'Invalid aliases: an alias cannot be an expression keyword. ' f'key: {ikey!r}, aliases: {ialiases}.' ) for dupe in sorted(dupe_exceptions): errors.append(f'Invalid duplicated license exception key: {dupe}.') for ikw in sorted(invalid_keys_as_kw): errors.append( f'Invalid key: a key cannot be an expression keyword: {ikw}.' ) warnings = [] for dupe_alias in sorted(dupe_aliases): errors.append( f'Duplicated or empty aliases ignored for license key: ' f'{dupe_alias!r}.' ) return warnings, errors def combine_expressions( expressions, relation='AND', unique=True, licensing=Licensing(), ): """ Return a combined LicenseExpression object with the `relation`, given a list of license ``expressions`` strings or LicenseExpression objects. If ``unique`` is True remove duplicates before combining expressions. For example:: >>> a = 'mit' >>> b = 'gpl' >>> str(combine_expressions([a, b])) 'mit AND gpl' >>> assert 'mit' == str(combine_expressions([a])) >>> combine_expressions([]) >>> combine_expressions(None) >>> str(combine_expressions(('gpl', 'mit', 'apache',))) 'gpl AND mit AND apache' >>> str(combine_expressions(('gpl', 'mit', 'apache',), relation='OR')) 'gpl OR mit OR apache' """ if not expressions: return if not isinstance(expressions, (list, tuple)): raise TypeError( f'expressions should be a list or tuple and not: {type(expressions)}' ) # only del with LicenseExpression objects expressions = [licensing.parse(le, simple=True) for le in expressions] # Remove duplicate expressions if unique: expressions = list({str(x): x for x in expressions}.values()) if len(expressions) == 1: return expressions[0] relation = {'AND': licensing.AND, 'OR': licensing.OR}[relation] return relation(*expressions) license-expression-21.6.14/src/license_expression/_pyahocorasick.ABOUT000066400000000000000000000015601406172227500257760ustar00rootroot00000000000000about_resource: _pyahocorasick.py download_url: https://github.com/WojciechMula/pyahocorasick/tree/ec2fb9cb393f571fd4316ea98ed7b65992f16127/py name: pyahocorasick-python version: ec2fb9 homepage_url: https://github.com/WojciechMula/pyahocorasick license_expression: public-domain copyright: originally authored by Wojciech Mula, modified by the license_expression authors. notes: this is a vendored subset of the full pyahocorasick containing only the pure python part with an implementation modified to return non-overlapping matches and non-matches. It has many limitation and in particular it does not pickle well and is much slower than the full C-based implementation but is convenient to use as a vendored, pure Python library. owner: nexB Inc. author: Wojciech Mula http://0x80.pl/ vcs_tool: git vcs_repository: https://github.com/WojciechMula/pyahocorasick.git license-expression-21.6.14/src/license_expression/_pyahocorasick.py000066400000000000000000000501431406172227500255550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # SPDX-License-Identifier: LicenseRef-scancode-public-domain # See https://github.com/nexB/license-expression for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # """ Aho-Corasick string search algorithm in pure Python Original Author: Wojciech Muła, wojciech_mula@poczta.onet.pl WWW : http://0x80.pl License : public domain This is the pure Python Aho-Corasick automaton from pyahocorasick modified for use in the license_expression library for advanced tokenization: - add support for unicode strings. - case insensitive search using sequence of words and not characters - improve returned results with the actual start,end and matched string. - support returning non-matched parts of a string """ from collections import deque from collections import OrderedDict import logging import re TRACE = False logger = logging.getLogger(__name__) def logger_debug(*args): pass if TRACE: def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) import sys logging.basicConfig(stream=sys.stdout) logger.setLevel(logging.DEBUG) # used to distinguish from None nil = object() class TrieNode(object): """ Node of the Trie/Aho-Corasick automaton. """ __slots__ = ['token', 'output', 'fail', 'children'] def __init__(self, token, output=nil): # token of a tokens string added to the Trie as a string self.token = token # an output function (in the Aho-Corasick meaning) for this node: this # is an object that contains the original key string and any # additional value data associated to that key. Or "nil" for a node that # is not a terminal leave for a key. It will be returned with a match. self.output = output # failure link used by the Aho-Corasick automaton and its search procedure self.fail = nil # children of this node as a mapping of char->node self.children = {} def __repr__(self): if self.output is not nil: return 'TrieNode(%r, %r)' % (self.token, self.output) else: return 'TrieNode(%r)' % self.token class Trie(object): """ A Trie and Aho-Corasick automaton. This behaves more or less like a mapping of key->value. This is the main entry point. """ def __init__(self): """ Initialize a new Trie. """ self.root = TrieNode('') # set of any unique tokens in the trie, updated on each addition we keep # track of the set of tokens added to the trie to build the automaton # these are needed to created the first level children failure links self._known_tokens = set() # Flag set to True once a Trie has been converted to an Aho-Corasick automaton self._converted = False def add(self, tokens_string, value=None): """ Add a new tokens_string and its associated value to the trie. If the tokens_string already exists in the Trie, its value is replaced with the provided value, typically a Token object. If a value is not provided, the tokens_string is used as value. A tokens_string is any string. It will be tokenized when added to the Trie. """ if self._converted: raise Exception('This Trie has been converted to an Aho-Corasick ' 'automaton and cannot be modified.') if not tokens_string or not isinstance(tokens_string, str): return tokens = [t for t in get_tokens(tokens_string) if t.strip()] # we keep track of the set of tokens added to the trie to build the # automaton these are needed to created the first level children failure # links self._known_tokens.update(tokens) node = self.root for token in tokens: try: node = node.children[token] except KeyError: child = TrieNode(token) node.children[token] = child node = child node.output = (tokens_string, value or tokens_string) def __get_node(self, tokens_string): """ Return a node for this tokens_string or None if the trie does not contain the tokens_string. Private function retrieving a final node of the Trie for a given tokens_string. """ if not tokens_string or not isinstance(tokens_string, str): return tokens = [t for t in get_tokens(tokens_string) if t.strip()] node = self.root for token in tokens: try: node = node.children[token] except KeyError: return None return node def get(self, tokens_string, default=nil): """ Return the output value found associated with a `tokens_string`. If there is no such tokens_string in the Trie, return the default value (other than nil). If `default` is not provided or is `nil`, raise a KeyError. """ node = self.__get_node(tokens_string) output = nil if node: output = node.output if output is nil: if default is nil: raise KeyError(tokens_string) else: return default else: return output def keys(self): """ Yield all keys stored in this trie. """ return (key for key, _ in self.items()) def values(self): """ Yield all values associated with keys stored in this trie. """ return (value for _, value in self.items()) def items(self): """ Yield tuple of all (key, value) stored in this trie. """ items = [] def walk(node, tokens): """ Walk the trie, depth first. """ tokens = [t for t in tokens + [node.token] if t] if node.output is not nil: items.append((node.output[0], node.output[1],)) for child in node.children.values(): if child is not node: walk(child, tokens) walk(self.root, tokens=[]) return iter(items) def exists(self, tokens_string): """ Return True if the key is present in this trie. """ node = self.__get_node(tokens_string) if node: return bool(node.output != nil) return False def is_prefix(self, tokens_string): """ Return True if tokens_string is a prefix of any existing tokens_string in the trie. """ return bool(self.__get_node(tokens_string) is not None) def make_automaton(self): """ Convert this trie to an Aho-Corasick automaton. Note that this is an error to add new keys to a Trie once it has been converted to an Automaton. """ queue = deque() # 1. create root children for each known items range (e.g. all unique # characters from all the added tokens), failing to root. # And build a queue of these for token in self._known_tokens: if token in self.root.children: node = self.root.children[token] # e.g. f(s) = 0, Aho-Corasick-wise node.fail = self.root queue.append(node) else: self.root.children[token] = self.root # 2. using the queue of all possible top level items/chars, walk the trie and # add failure links to nodes as needed while queue: current_node = queue.popleft() for node in current_node.children.values(): queue.append(node) state = current_node.fail while node.token not in state.children: state = state.fail node.fail = state.children.get(node.token, self.root) # Mark the trie as converted so it cannot be modified anymore self._converted = True def iter(self, tokens_string, include_unmatched=False, include_space=False): """ Yield Token objects for matched strings by performing the Aho-Corasick search procedure. The Token start and end positions in the searched string are such that the matched string is "tokens_string[start:end+1]". And the start is computed from the end_index collected by the Aho-Corasick search procedure such that "start=end_index - n + 1" where n is the length of a matched string. The Token.value is an object associated with a matched string. For example: >>> a = Trie() >>> a.add('BCDEF') >>> a.add('CDE') >>> a.add('DEFGH') >>> a.add('EFGH') >>> a.add('KL') >>> a.make_automaton() >>> tokens_string = 'a bcdef ghij kl m' >>> strings = Token.sort(a.iter(tokens_string)) >>> expected = [ ... Token(2, 6, u'bcdef', u'BCDEF'), ... Token(13, 14, u'kl', u'KL') ... ] >>> strings == expected True >>> list(a.iter('')) == [] True >>> list(a.iter(' ')) == [] True """ if not tokens_string: return tokens = get_tokens(tokens_string) state = self.root if TRACE: logger_debug('Trie.iter() with:', repr(tokens_string)) logger_debug(' tokens:', tokens) end_pos = -1 for token_string in tokens: end_pos += len(token_string) if TRACE: logger_debug() logger_debug('token_string', repr(token_string)) logger_debug(' end_pos', end_pos) if not include_space and not token_string.strip(): if TRACE: logger_debug(' include_space skipped') continue if token_string not in self._known_tokens: state = self.root if TRACE: logger_debug(' unmatched') if include_unmatched: n = len(token_string) start_pos = end_pos - n + 1 tok = Token( start=start_pos, end=end_pos, string=tokens_string[start_pos: end_pos + 1], value=None ) if TRACE: logger_debug(' unmatched tok:', tok) yield tok continue yielded = False # search for a matching token_string in the children, starting at root while token_string not in state.children: state = state.fail # we have a matching starting token_string state = state.children.get(token_string, self.root) match = state while match is not nil: if match.output is not nil: matched_string, output_value = match.output if TRACE: logger_debug(' type output', repr(output_value), type(matched_string)) n = len(matched_string) start_pos = end_pos - n + 1 if TRACE: logger_debug(' start_pos', start_pos) yield Token(start_pos, end_pos, tokens_string[start_pos: end_pos + 1], output_value) yielded = True match = match.fail if not yielded and include_unmatched: if TRACE: logger_debug(' unmatched but known token') n = len(token_string) start_pos = end_pos - n + 1 tok = Token(start_pos, end_pos, tokens_string[start_pos: end_pos + 1], None) if TRACE: logger_debug(' unmatched tok 2:', tok) yield tok logger_debug() def tokenize(self, string, include_unmatched=True, include_space=False): """ tokenize a string for matched and unmatched sub-sequences and yield non- overlapping Token objects performing a modified Aho-Corasick search procedure: - return both matched and unmatched sub-sequences. - do not return matches with positions that are contained or overlap with another match: - discard smaller matches contained in a larger match. - when there is overlap (but not containment), the matches are sorted by start and biggest length and then: - we return the largest match of two overlaping matches - if they have the same length, keep the match starting the earliest and return the non-overlapping portion of the other discarded match as a non-match. Each Token contains the start and end position, the corresponding string and an associated value object. For example: >>> a = Trie() >>> a.add('BCDEF') >>> a.add('CDE') >>> a.add('DEFGH') >>> a.add('EFGH') >>> a.add('KL') >>> a.make_automaton() >>> string = 'a bcdef ghij kl' >>> tokens = list(a.tokenize(string, include_space=True)) >>> expected = [ ... Token(0, 0, u'a', None), ... Token(1, 1, u' ', None), ... Token(2, 6, u'bcdef', u'BCDEF'), ... Token(7, 7, u' ', None), ... Token(8, 11, u'ghij', None), ... Token(12, 12, u' ', None), ... Token(13, 14, u'kl', u'KL') ... ] >>> tokens == expected True """ tokens = self.iter(string, include_unmatched=include_unmatched, include_space=include_space) tokens = list(tokens) if TRACE: logger_debug('tokenize.tokens:', tokens) if not include_space: tokens = [t for t in tokens if t.string.strip()] tokens = filter_overlapping(tokens) return tokens def filter_overlapping(tokens): """ Return a new list from an iterable of `tokens` discarding contained and overlaping Tokens using these rules: - skip a token fully contained in another token. - keep the biggest, left-most token of two overlapping tokens and skip the other For example: >>> tokens = [ ... Token(0, 0, 'a'), ... Token(1, 5, 'bcdef'), ... Token(2, 4, 'cde'), ... Token(3, 7, 'defgh'), ... Token(4, 7, 'efgh'), ... Token(8, 9, 'ij'), ... Token(10, 13, 'klmn'), ... Token(11, 15, 'lmnop'), ... Token(16, 16, 'q'), ... ] >>> expected = [ ... Token(0, 0, 'a'), ... Token(1, 5, 'bcdef'), ... Token(8, 9, 'ij'), ... Token(11, 15, 'lmnop'), ... Token(16, 16, 'q'), ... ] >>> filtered = list(filter_overlapping(tokens)) >>> filtered == expected True """ tokens = Token.sort(tokens) # compare pair of tokens in the sorted sequence: current and next i = 0 while i < len(tokens) - 1: j = i + 1 while j < len(tokens): curr_tok = tokens[i] next_tok = tokens[j] logger_debug('curr_tok, i, next_tok, j:', curr_tok, i, next_tok, j) # disjoint tokens: break, there is nothing to do if next_tok.is_after(curr_tok): logger_debug(' break to next', curr_tok) break # contained token: discard the contained token if next_tok in curr_tok: logger_debug(' del next_tok contained:', next_tok) del tokens[j] continue # overlap: Keep the longest token and skip the smallest overlapping # tokens. In case of length tie: keep the left most if curr_tok.overlap(next_tok): if len(curr_tok) >= len(next_tok): logger_debug(' del next_tok smaller overlap:', next_tok) del tokens[j] continue else: logger_debug(' del curr_tok smaller overlap:', curr_tok) del tokens[i] break j += 1 i += 1 return tokens class Token(object): """ A Token is used to track the tokenization an expression with its start and end as index position in the original string and other attributes: - `start` and `end` are zero-based index in the original string S such that S[start:end+1] will yield `string`. - `string` is the matched substring from the original string for this Token. - `value` is the corresponding object for this token as one of: - a LicenseSymbol object - a "Keyword" object (and, or, with, left and right parens) - None if this is a space. """ __slots__ = 'start', 'end', 'string', 'value', def __init__(self, start, end, string='', value=None): self.start = start self.end = end self.string = string self.value = value def __repr__(self): return self.__class__.__name__ + '(%(start)r, %(end)r, %(string)r, %(value)r)' % self.as_dict() def as_dict(self): return OrderedDict([(s, getattr(self, s)) for s in self.__slots__]) def __len__(self): return self.end - self.start + 1 def __eq__(self, other): return isinstance(other, Token) and ( self.start == other.start and self.end == other.end and self.string == other.string and self.value == other.value ) def __hash__(self): tup = self.start, self.end, self.string, self.value return hash(tup) @classmethod def sort(cls, tokens): """ Return a new sorted sequence of tokens given a sequence of tokens. The primary sort is on start and the secondary sort is on longer lengths. Therefore if two tokens have the same start, the longer token will sort first. For example: >>> tokens = [Token(0, 0), Token(5, 5), Token(1, 1), Token(2, 4), Token(2, 5)] >>> expected = [Token(0, 0), Token(1, 1), Token(2, 5), Token(2, 4), Token(5, 5)] >>> expected == Token.sort(tokens) True """ key = lambda s: (s.start, -len(s),) return sorted(tokens, key=key) def is_after(self, other): """ Return True if this token is after the other token. For example: >>> Token(1, 2).is_after(Token(5, 6)) False >>> Token(5, 6).is_after(Token(5, 6)) False >>> Token(2, 3).is_after(Token(1, 2)) False >>> Token(5, 6).is_after(Token(3, 4)) True """ return self.start > other.end def is_before(self, other): return self.end < other.start def __contains__(self, other): """ Return True if this token contains the other token. For example: >>> Token(5, 7) in Token(5, 7) True >>> Token(6, 8) in Token(5, 7) False >>> Token(6, 6) in Token(4, 8) True >>> Token(3, 9) in Token(4, 8) False >>> Token(4, 8) in Token(3, 9) True """ return self.start <= other.start and other.end <= self.end def overlap(self, other): """ Return True if this token and the other token overlap. For example: >>> Token(1, 2).overlap(Token(5, 6)) False >>> Token(5, 6).overlap(Token(5, 6)) True >>> Token(4, 5).overlap(Token(5, 6)) True >>> Token(4, 5).overlap(Token(5, 7)) True >>> Token(4, 5).overlap(Token(6, 7)) False """ start = self.start end = self.end return (start <= other.start <= end) or (start <= other.end <= end) # tokenize to separate text from parens _tokenizer = re.compile(r''' (?P[^\s\(\)]+) | (?P\s+) | (?P[\(\)]) ''', re.VERBOSE | re.MULTILINE | re.UNICODE ) def get_tokens(tokens_string): """ Return an iterable of strings splitting on spaces and parens. """ return [match for match in _tokenizer.split(tokens_string.lower()) if match] license-expression-21.6.14/src/license_expression/data/000077500000000000000000000000001406172227500231135ustar00rootroot00000000000000license-expression-21.6.14/src/license_expression/data/cc-by-4.0.LICENSE000066400000000000000000000443331406172227500254220ustar00rootroot00000000000000Attribution 4.0 International ======================================================================= Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. license-expression-21.6.14/src/license_expression/data/license_key_index.json.ABOUT000066400000000000000000000003271406172227500303420ustar00rootroot00000000000000about_resource: scancode-licensedb-index.json name: scancode-licensedb-index.json license_expression: cc-by-4.0 copyright: Copyright (c) nexB Inc. and others. homepage_url: https://scancode-licensedb.aboutcode.org/ license-expression-21.6.14/src/license_expression/data/scancode-licensedb-index.json000066400000000000000000024110501406172227500306230ustar00rootroot00000000000000[ { "license_key": "389-exception", "spdx_license_key": "389-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "389-exception.json", "yml": "389-exception.yml", "html": "389-exception.html", "text": "389-exception.LICENSE" }, { "license_key": "3com-microcode", "spdx_license_key": "LicenseRef-scancode-3com-microcode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "3com-microcode.json", "yml": "3com-microcode.yml", "html": "3com-microcode.html", "text": "3com-microcode.LICENSE" }, { "license_key": "3dslicer-1.0", "spdx_license_key": "LicenseRef-scancode-3dslicer-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "3dslicer-1.0.json", "yml": "3dslicer-1.0.yml", "html": "3dslicer-1.0.html", "text": "3dslicer-1.0.LICENSE" }, { "license_key": "4suite-1.1", "spdx_license_key": "LicenseRef-scancode-4suite-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "4suite-1.1.json", "yml": "4suite-1.1.yml", "html": "4suite-1.1.html", "text": "4suite-1.1.LICENSE" }, { "license_key": "996-icu-1.0", "spdx_license_key": "LicenseRef-scancode-996-icu-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "996-icu-1.0.json", "yml": "996-icu-1.0.yml", "html": "996-icu-1.0.html", "text": "996-icu-1.0.LICENSE" }, { "license_key": "abrms", "spdx_license_key": "LicenseRef-scancode-abrms", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "abrms.json", "yml": "abrms.yml", "html": "abrms.html", "text": "abrms.LICENSE" }, { "license_key": "abstyles", "spdx_license_key": "Abstyles", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "abstyles.json", "yml": "abstyles.yml", "html": "abstyles.html", "text": "abstyles.LICENSE" }, { "license_key": "ac3filter", "spdx_license_key": "LicenseRef-scancode-ac3filter", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ac3filter.json", "yml": "ac3filter.yml", "html": "ac3filter.html", "text": "ac3filter.LICENSE" }, { "license_key": "acdl-1.0", "spdx_license_key": "LicenseRef-scancode-acdl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "acdl-1.0.json", "yml": "acdl-1.0.yml", "html": "acdl-1.0.html", "text": "acdl-1.0.LICENSE" }, { "license_key": "ace-tao", "spdx_license_key": "DOC", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ace-tao.json", "yml": "ace-tao.yml", "html": "ace-tao.html", "text": "ace-tao.LICENSE" }, { "license_key": "activestate-community-2012", "spdx_license_key": "LicenseRef-scancode-activestate-community-2012", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "activestate-community-2012.json", "yml": "activestate-community-2012.yml", "html": "activestate-community-2012.html", "text": "activestate-community-2012.LICENSE" }, { "license_key": "activestate-community", "spdx_license_key": "LicenseRef-scancode-activestate-community", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "activestate-community.json", "yml": "activestate-community.yml", "html": "activestate-community.html", "text": "activestate-community.LICENSE" }, { "license_key": "activestate-komodo-edit", "spdx_license_key": "LicenseRef-scancode-activestate-komodo-edit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "activestate-komodo-edit.json", "yml": "activestate-komodo-edit.yml", "html": "activestate-komodo-edit.html", "text": "activestate-komodo-edit.LICENSE" }, { "license_key": "actuate-birt-ihub-ftype-sla", "spdx_license_key": "LicenseRef-scancode-actuate-birt-ihub-ftype-sla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "actuate-birt-ihub-ftype-sla.json", "yml": "actuate-birt-ihub-ftype-sla.yml", "html": "actuate-birt-ihub-ftype-sla.html", "text": "actuate-birt-ihub-ftype-sla.LICENSE" }, { "license_key": "ada-linking-exception", "spdx_license_key": "LicenseRef-scancode-ada-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ada-linking-exception.json", "yml": "ada-linking-exception.yml", "html": "ada-linking-exception.html", "text": "ada-linking-exception.LICENSE" }, { "license_key": "adapt-1.0", "spdx_license_key": "APL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adapt-1.0.json", "yml": "adapt-1.0.yml", "html": "adapt-1.0.html", "text": "adapt-1.0.LICENSE" }, { "license_key": "adaptec-downloadable", "spdx_license_key": "LicenseRef-scancode-adaptec-downloadable", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adaptec-downloadable.json", "yml": "adaptec-downloadable.yml", "html": "adaptec-downloadable.html", "text": "adaptec-downloadable.LICENSE" }, { "license_key": "adaptec-eula", "spdx_license_key": "LicenseRef-scancode-adaptec-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adaptec-eula.json", "yml": "adaptec-eula.yml", "html": "adaptec-eula.html", "text": "adaptec-eula.LICENSE" }, { "license_key": "addthis-mobile-sdk-1.0", "spdx_license_key": "LicenseRef-scancode-addthis-mobile-sdk-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "addthis-mobile-sdk-1.0.json", "yml": "addthis-mobile-sdk-1.0.yml", "html": "addthis-mobile-sdk-1.0.html", "text": "addthis-mobile-sdk-1.0.LICENSE" }, { "license_key": "adi-bsd", "spdx_license_key": "LicenseRef-scancode-adi-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adi-bsd.json", "yml": "adi-bsd.yml", "html": "adi-bsd.html", "text": "adi-bsd.LICENSE" }, { "license_key": "adobe-acrobat-reader-eula", "spdx_license_key": "LicenseRef-scancode-adobe-acrobat-reader-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-acrobat-reader-eula.json", "yml": "adobe-acrobat-reader-eula.yml", "html": "adobe-acrobat-reader-eula.html", "text": "adobe-acrobat-reader-eula.LICENSE" }, { "license_key": "adobe-air-sdk-2014", "spdx_license_key": "LicenseRef-scancode-adobe-air-sdk-2014", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-air-sdk-2014.json", "yml": "adobe-air-sdk-2014.yml", "html": "adobe-air-sdk-2014.html", "text": "adobe-air-sdk-2014.LICENSE" }, { "license_key": "adobe-air-sdk", "spdx_license_key": "LicenseRef-scancode-adobe-air-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-air-sdk.json", "yml": "adobe-air-sdk.yml", "html": "adobe-air-sdk.html", "text": "adobe-air-sdk.LICENSE" }, { "license_key": "adobe-dng-sdk", "spdx_license_key": "LicenseRef-scancode-adobe-dng-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-dng-sdk.json", "yml": "adobe-dng-sdk.yml", "html": "adobe-dng-sdk.html", "text": "adobe-dng-sdk.LICENSE" }, { "license_key": "adobe-eula", "spdx_license_key": "LicenseRef-scancode-adobe-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-eula.json", "yml": "adobe-eula.yml", "html": "adobe-eula.html", "text": "adobe-eula.LICENSE" }, { "license_key": "adobe-flash-player-eula-21.0", "spdx_license_key": "LicenseRef-scancode-adobe-flash-player-eula-21.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-flash-player-eula-21.0.json", "yml": "adobe-flash-player-eula-21.0.yml", "html": "adobe-flash-player-eula-21.0.html", "text": "adobe-flash-player-eula-21.0.LICENSE" }, { "license_key": "adobe-flex-4-sdk", "spdx_license_key": "LicenseRef-scancode-adobe-flex-4-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-flex-4-sdk.json", "yml": "adobe-flex-4-sdk.yml", "html": "adobe-flex-4-sdk.html", "text": "adobe-flex-4-sdk.LICENSE" }, { "license_key": "adobe-flex-sdk", "spdx_license_key": "LicenseRef-scancode-adobe-flex-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-flex-sdk.json", "yml": "adobe-flex-sdk.yml", "html": "adobe-flex-sdk.html", "text": "adobe-flex-sdk.LICENSE" }, { "license_key": "adobe-general-tou", "spdx_license_key": "LicenseRef-scancode-adobe-general-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-general-tou.json", "yml": "adobe-general-tou.yml", "html": "adobe-general-tou.html", "text": "adobe-general-tou.LICENSE" }, { "license_key": "adobe-glyph", "spdx_license_key": "Adobe-Glyph", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-glyph.json", "yml": "adobe-glyph.yml", "html": "adobe-glyph.html", "text": "adobe-glyph.LICENSE" }, { "license_key": "adobe-indesign-sdk", "spdx_license_key": "LicenseRef-scancode-adobe-indesign-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-indesign-sdk.json", "yml": "adobe-indesign-sdk.yml", "html": "adobe-indesign-sdk.html", "text": "adobe-indesign-sdk.LICENSE" }, { "license_key": "adobe-postscript", "spdx_license_key": "LicenseRef-scancode-adobe-postscript", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-postscript.json", "yml": "adobe-postscript.yml", "html": "adobe-postscript.html", "text": "adobe-postscript.LICENSE" }, { "license_key": "adobe-scl", "spdx_license_key": "Adobe-2006", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adobe-scl.json", "yml": "adobe-scl.yml", "html": "adobe-scl.html", "text": "adobe-scl.LICENSE" }, { "license_key": "adrian", "spdx_license_key": "LicenseRef-scancode-adrian", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adrian.json", "yml": "adrian.yml", "html": "adrian.html", "text": "adrian.LICENSE" }, { "license_key": "adsl", "spdx_license_key": "ADSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "adsl.json", "yml": "adsl.yml", "html": "adsl.html", "text": "adsl.LICENSE" }, { "license_key": "aes-128-3.0", "spdx_license_key": "LicenseRef-scancode-aes-128-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aes-128-3.0.json", "yml": "aes-128-3.0.yml", "html": "aes-128-3.0.html", "text": "aes-128-3.0.LICENSE" }, { "license_key": "afl-1.1", "spdx_license_key": "AFL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afl-1.1.json", "yml": "afl-1.1.yml", "html": "afl-1.1.html", "text": "afl-1.1.LICENSE" }, { "license_key": "afl-1.2", "spdx_license_key": "AFL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afl-1.2.json", "yml": "afl-1.2.yml", "html": "afl-1.2.html", "text": "afl-1.2.LICENSE" }, { "license_key": "afl-2.0", "spdx_license_key": "AFL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afl-2.0.json", "yml": "afl-2.0.yml", "html": "afl-2.0.html", "text": "afl-2.0.LICENSE" }, { "license_key": "afl-2.1", "spdx_license_key": "AFL-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afl-2.1.json", "yml": "afl-2.1.yml", "html": "afl-2.1.html", "text": "afl-2.1.LICENSE" }, { "license_key": "afl-3.0", "spdx_license_key": "AFL-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afl-3.0.json", "yml": "afl-3.0.yml", "html": "afl-3.0.html", "text": "afl-3.0.LICENSE" }, { "license_key": "afmparse", "spdx_license_key": "Afmparse", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afmparse.json", "yml": "afmparse.yml", "html": "afmparse.html", "text": "afmparse.LICENSE" }, { "license_key": "afpl-8.0", "spdx_license_key": "Aladdin", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afpl-8.0.json", "yml": "afpl-8.0.yml", "html": "afpl-8.0.html", "text": "afpl-8.0.LICENSE" }, { "license_key": "afpl-9.0", "spdx_license_key": "LicenseRef-scancode-afpl-9.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "afpl-9.0.json", "yml": "afpl-9.0.yml", "html": "afpl-9.0.html", "text": "afpl-9.0.LICENSE" }, { "license_key": "agentxpp", "spdx_license_key": "LicenseRef-scancode-agentxpp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "agentxpp.json", "yml": "agentxpp.yml", "html": "agentxpp.html", "text": "agentxpp.LICENSE" }, { "license_key": "agere-bsd", "spdx_license_key": "LicenseRef-scancode-agere-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "agere-bsd.json", "yml": "agere-bsd.yml", "html": "agere-bsd.html", "text": "agere-bsd.LICENSE" }, { "license_key": "agere-sla", "spdx_license_key": "LicenseRef-scancode-agere-sla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "agere-sla.json", "yml": "agere-sla.yml", "html": "agere-sla.html", "text": "agere-sla.LICENSE" }, { "license_key": "agpl-1.0-plus", "spdx_license_key": "AGPL-1.0-or-later", "other_spdx_license_keys": [ "AGPL-1.0+" ], "is_exception": false, "is_deprecated": false, "json": "agpl-1.0-plus.json", "yml": "agpl-1.0-plus.yml", "html": "agpl-1.0-plus.html", "text": "agpl-1.0-plus.LICENSE" }, { "license_key": "agpl-1.0", "spdx_license_key": "AGPL-1.0-only", "other_spdx_license_keys": [ "AGPL-1.0" ], "is_exception": false, "is_deprecated": false, "json": "agpl-1.0.json", "yml": "agpl-1.0.yml", "html": "agpl-1.0.html", "text": "agpl-1.0.LICENSE" }, { "license_key": "agpl-2.0", "spdx_license_key": "LicenseRef-scancode-agpl-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "agpl-2.0.json", "yml": "agpl-2.0.yml", "html": "agpl-2.0.html", "text": "agpl-2.0.LICENSE" }, { "license_key": "agpl-3.0-bacula", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "agpl-3.0-bacula.json", "yml": "agpl-3.0-bacula.yml", "html": "agpl-3.0-bacula.html", "text": "agpl-3.0-bacula.LICENSE" }, { "license_key": "agpl-3.0-linking-exception", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "agpl-3.0-linking-exception.json", "yml": "agpl-3.0-linking-exception.yml", "html": "agpl-3.0-linking-exception.html", "text": "agpl-3.0-linking-exception.LICENSE" }, { "license_key": "agpl-3.0-openssl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "agpl-3.0-openssl.json", "yml": "agpl-3.0-openssl.yml", "html": "agpl-3.0-openssl.html", "text": "agpl-3.0-openssl.LICENSE" }, { "license_key": "agpl-3.0-plus", "spdx_license_key": "AGPL-3.0-or-later", "other_spdx_license_keys": [ "AGPL-3.0+" ], "is_exception": false, "is_deprecated": false, "json": "agpl-3.0-plus.json", "yml": "agpl-3.0-plus.yml", "html": "agpl-3.0-plus.html", "text": "agpl-3.0-plus.LICENSE" }, { "license_key": "agpl-3.0", "spdx_license_key": "AGPL-3.0-only", "other_spdx_license_keys": [ "AGPL-3.0" ], "is_exception": false, "is_deprecated": false, "json": "agpl-3.0.json", "yml": "agpl-3.0.yml", "html": "agpl-3.0.html", "text": "agpl-3.0.LICENSE" }, { "license_key": "agpl-generic-additional-terms", "spdx_license_key": "LicenseRef-scancode-agpl-generic-additional-terms", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "agpl-generic-additional-terms.json", "yml": "agpl-generic-additional-terms.yml", "html": "agpl-generic-additional-terms.html", "text": "agpl-generic-additional-terms.LICENSE" }, { "license_key": "aladdin-md5", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "aladdin-md5.json", "yml": "aladdin-md5.yml", "html": "aladdin-md5.html", "text": "aladdin-md5.LICENSE" }, { "license_key": "alasir", "spdx_license_key": "LicenseRef-scancode-alasir", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "alasir.json", "yml": "alasir.yml", "html": "alasir.html", "text": "alasir.LICENSE" }, { "license_key": "alexisisaac-freeware", "spdx_license_key": "LicenseRef-scancode-alexisisaac-freeware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "alexisisaac-freeware.json", "yml": "alexisisaac-freeware.yml", "html": "alexisisaac-freeware.html", "text": "alexisisaac-freeware.LICENSE" }, { "license_key": "alfresco-exception-0.5", "spdx_license_key": "LicenseRef-scancode-alfresco-exception-0.5", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "alfresco-exception-0.5.json", "yml": "alfresco-exception-0.5.yml", "html": "alfresco-exception-0.5.html", "text": "alfresco-exception-0.5.LICENSE" }, { "license_key": "allegro-4", "spdx_license_key": "Giftware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "allegro-4.json", "yml": "allegro-4.yml", "html": "allegro-4.html", "text": "allegro-4.LICENSE" }, { "license_key": "altova-eula", "spdx_license_key": "LicenseRef-scancode-altova-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "altova-eula.json", "yml": "altova-eula.yml", "html": "altova-eula.html", "text": "altova-eula.LICENSE" }, { "license_key": "amazon-redshift-jdbc", "spdx_license_key": "LicenseRef-scancode-amazon-redshift-jdbc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "amazon-redshift-jdbc.json", "yml": "amazon-redshift-jdbc.yml", "html": "amazon-redshift-jdbc.html", "text": "amazon-redshift-jdbc.LICENSE" }, { "license_key": "amazon-sl", "spdx_license_key": "LicenseRef-scancode-amazon-sl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "amazon-sl.json", "yml": "amazon-sl.yml", "html": "amazon-sl.html", "text": "amazon-sl.LICENSE" }, { "license_key": "amd-historical", "spdx_license_key": "LicenseRef-scancode-amd-historical", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "amd-historical.json", "yml": "amd-historical.yml", "html": "amd-historical.html", "text": "amd-historical.LICENSE" }, { "license_key": "amdplpa", "spdx_license_key": "AMDPLPA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "amdplpa.json", "yml": "amdplpa.yml", "html": "amdplpa.html", "text": "amdplpa.LICENSE" }, { "license_key": "aml", "spdx_license_key": "AML", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aml.json", "yml": "aml.yml", "html": "aml.html", "text": "aml.LICENSE" }, { "license_key": "ampas", "spdx_license_key": "AMPAS", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ampas.json", "yml": "ampas.yml", "html": "ampas.html", "text": "ampas.LICENSE" }, { "license_key": "ams-fonts", "spdx_license_key": "LicenseRef-scancode-ams-fonts", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ams-fonts.json", "yml": "ams-fonts.yml", "html": "ams-fonts.html", "text": "ams-fonts.LICENSE" }, { "license_key": "android-sdk-2009", "spdx_license_key": "LicenseRef-scancode-android-sdk-2009", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "android-sdk-2009.json", "yml": "android-sdk-2009.yml", "html": "android-sdk-2009.html", "text": "android-sdk-2009.LICENSE" }, { "license_key": "android-sdk-2012", "spdx_license_key": "LicenseRef-scancode-android-sdk-2012", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "android-sdk-2012.json", "yml": "android-sdk-2012.yml", "html": "android-sdk-2012.html", "text": "android-sdk-2012.LICENSE" }, { "license_key": "android-sdk-license", "spdx_license_key": "LicenseRef-scancode-android-sdk-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "android-sdk-license.json", "yml": "android-sdk-license.yml", "html": "android-sdk-license.html", "text": "android-sdk-license.LICENSE" }, { "license_key": "android-sdk-preview-2015", "spdx_license_key": "LicenseRef-scancode-android-sdk-preview-2015", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "android-sdk-preview-2015.json", "yml": "android-sdk-preview-2015.yml", "html": "android-sdk-preview-2015.html", "text": "android-sdk-preview-2015.LICENSE" }, { "license_key": "antlr-pd-fallback", "spdx_license_key": "ANTLR-PD-fallback", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "antlr-pd-fallback.json", "yml": "antlr-pd-fallback.yml", "html": "antlr-pd-fallback.html", "text": "antlr-pd-fallback.LICENSE" }, { "license_key": "antlr-pd", "spdx_license_key": "ANTLR-PD", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "antlr-pd.json", "yml": "antlr-pd.yml", "html": "antlr-pd.html", "text": "antlr-pd.LICENSE" }, { "license_key": "anu-license", "spdx_license_key": "LicenseRef-scancode-anu-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "anu-license.json", "yml": "anu-license.yml", "html": "anu-license.html", "text": "anu-license.LICENSE" }, { "license_key": "aop-pd", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "aop-pd.json", "yml": "aop-pd.yml", "html": "aop-pd.html", "text": "aop-pd.LICENSE" }, { "license_key": "apache-1.0", "spdx_license_key": "Apache-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apache-1.0.json", "yml": "apache-1.0.yml", "html": "apache-1.0.html", "text": "apache-1.0.LICENSE" }, { "license_key": "apache-1.1", "spdx_license_key": "Apache-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apache-1.1.json", "yml": "apache-1.1.yml", "html": "apache-1.1.html", "text": "apache-1.1.LICENSE" }, { "license_key": "apache-2.0-linking-exception", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "apache-2.0-linking-exception.json", "yml": "apache-2.0-linking-exception.yml", "html": "apache-2.0-linking-exception.html", "text": "apache-2.0-linking-exception.LICENSE" }, { "license_key": "apache-2.0-runtime-library-exception", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "apache-2.0-runtime-library-exception.json", "yml": "apache-2.0-runtime-library-exception.yml", "html": "apache-2.0-runtime-library-exception.html", "text": "apache-2.0-runtime-library-exception.LICENSE" }, { "license_key": "apache-2.0", "spdx_license_key": "Apache-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apache-2.0.json", "yml": "apache-2.0.yml", "html": "apache-2.0.html", "text": "apache-2.0.LICENSE" }, { "license_key": "apache-due-credit", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "apache-due-credit.json", "yml": "apache-due-credit.yml", "html": "apache-due-credit.html", "text": "apache-due-credit.LICENSE" }, { "license_key": "apache-exception-llvm", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "apache-exception-llvm.json", "yml": "apache-exception-llvm.yml", "html": "apache-exception-llvm.html", "text": "apache-exception-llvm.LICENSE" }, { "license_key": "apafml", "spdx_license_key": "APAFML", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apafml.json", "yml": "apafml.yml", "html": "apafml.html", "text": "apafml.LICENSE" }, { "license_key": "appfire-eula", "spdx_license_key": "LicenseRef-scancode-appfire-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "appfire-eula.json", "yml": "appfire-eula.yml", "html": "appfire-eula.html", "text": "appfire-eula.LICENSE" }, { "license_key": "apple-attribution-1997", "spdx_license_key": "LicenseRef-scancode-apple-attribution-1997", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apple-attribution-1997.json", "yml": "apple-attribution-1997.yml", "html": "apple-attribution-1997.html", "text": "apple-attribution-1997.LICENSE" }, { "license_key": "apple-attribution", "spdx_license_key": "LicenseRef-scancode-apple-attribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apple-attribution.json", "yml": "apple-attribution.yml", "html": "apple-attribution.html", "text": "apple-attribution.LICENSE" }, { "license_key": "apple-excl", "spdx_license_key": "LicenseRef-scancode-apple-excl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apple-excl.json", "yml": "apple-excl.yml", "html": "apple-excl.html", "text": "apple-excl.LICENSE" }, { "license_key": "apple-mpeg-4", "spdx_license_key": "LicenseRef-scancode-apple-mpeg-4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apple-mpeg-4.json", "yml": "apple-mpeg-4.yml", "html": "apple-mpeg-4.html", "text": "apple-mpeg-4.LICENSE" }, { "license_key": "apple-runtime-library-exception", "spdx_license_key": "Swift-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "apple-runtime-library-exception.json", "yml": "apple-runtime-library-exception.yml", "html": "apple-runtime-library-exception.html", "text": "apple-runtime-library-exception.LICENSE" }, { "license_key": "apple-sscl", "spdx_license_key": "LicenseRef-scancode-apple-sscl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apple-sscl.json", "yml": "apple-sscl.yml", "html": "apple-sscl.html", "text": "apple-sscl.LICENSE" }, { "license_key": "apsl-1.0", "spdx_license_key": "APSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apsl-1.0.json", "yml": "apsl-1.0.yml", "html": "apsl-1.0.html", "text": "apsl-1.0.LICENSE" }, { "license_key": "apsl-1.1", "spdx_license_key": "APSL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apsl-1.1.json", "yml": "apsl-1.1.yml", "html": "apsl-1.1.html", "text": "apsl-1.1.LICENSE" }, { "license_key": "apsl-1.2", "spdx_license_key": "APSL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apsl-1.2.json", "yml": "apsl-1.2.yml", "html": "apsl-1.2.html", "text": "apsl-1.2.LICENSE" }, { "license_key": "apsl-2.0", "spdx_license_key": "APSL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "apsl-2.0.json", "yml": "apsl-2.0.yml", "html": "apsl-2.0.html", "text": "apsl-2.0.LICENSE" }, { "license_key": "aptana-1.0", "spdx_license_key": "LicenseRef-scancode-aptana-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aptana-1.0.json", "yml": "aptana-1.0.yml", "html": "aptana-1.0.html", "text": "aptana-1.0.LICENSE" }, { "license_key": "aptana-exception-3.0", "spdx_license_key": "LicenseRef-scancode-aptana-exception-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "aptana-exception-3.0.json", "yml": "aptana-exception-3.0.yml", "html": "aptana-exception-3.0.html", "text": "aptana-exception-3.0.LICENSE" }, { "license_key": "aravindan-premkumar", "spdx_license_key": "LicenseRef-scancode-aravindan-premkumar", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aravindan-premkumar.json", "yml": "aravindan-premkumar.yml", "html": "aravindan-premkumar.html", "text": "aravindan-premkumar.LICENSE" }, { "license_key": "argouml", "spdx_license_key": "LicenseRef-scancode-argouml", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "argouml.json", "yml": "argouml.yml", "html": "argouml.html", "text": "argouml.LICENSE" }, { "license_key": "arm-cortex-mx", "spdx_license_key": "LicenseRef-scancode-arm-cortex-mx", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "arm-cortex-mx.json", "yml": "arm-cortex-mx.yml", "html": "arm-cortex-mx.html", "text": "arm-cortex-mx.LICENSE" }, { "license_key": "arm-llvm-sga", "spdx_license_key": "LicenseRef-scancode-arm-llvm-sga", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "arm-llvm-sga.json", "yml": "arm-llvm-sga.yml", "html": "arm-llvm-sga.html", "text": "arm-llvm-sga.LICENSE" }, { "license_key": "arphic-public", "spdx_license_key": "LicenseRef-scancode-arphic-public", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "arphic-public.json", "yml": "arphic-public.yml", "html": "arphic-public.html", "text": "arphic-public.LICENSE" }, { "license_key": "array-input-method-pl", "spdx_license_key": "LicenseRef-scancode-array-input-method-pl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "array-input-method-pl.json", "yml": "array-input-method-pl.yml", "html": "array-input-method-pl.html", "text": "array-input-method-pl.LICENSE" }, { "license_key": "artistic-1.0-cl8", "spdx_license_key": "Artistic-1.0-cl8", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-1.0-cl8.json", "yml": "artistic-1.0-cl8.yml", "html": "artistic-1.0-cl8.html", "text": "artistic-1.0-cl8.LICENSE" }, { "license_key": "artistic-1.0", "spdx_license_key": "Artistic-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-1.0.json", "yml": "artistic-1.0.yml", "html": "artistic-1.0.html", "text": "artistic-1.0.LICENSE" }, { "license_key": "artistic-2.0", "spdx_license_key": "Artistic-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-2.0.json", "yml": "artistic-2.0.yml", "html": "artistic-2.0.html", "text": "artistic-2.0.LICENSE" }, { "license_key": "artistic-clarified", "spdx_license_key": "ClArtistic", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-clarified.json", "yml": "artistic-clarified.yml", "html": "artistic-clarified.html", "text": "artistic-clarified.LICENSE" }, { "license_key": "artistic-dist-1.0", "spdx_license_key": "LicenseRef-scancode-artistic-1988-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-dist-1.0.json", "yml": "artistic-dist-1.0.yml", "html": "artistic-dist-1.0.html", "text": "artistic-dist-1.0.LICENSE" }, { "license_key": "artistic-perl-1.0", "spdx_license_key": "Artistic-1.0-Perl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "artistic-perl-1.0.json", "yml": "artistic-perl-1.0.yml", "html": "artistic-perl-1.0.html", "text": "artistic-perl-1.0.LICENSE" }, { "license_key": "aslp", "spdx_license_key": "LicenseRef-scancode-aslp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aslp.json", "yml": "aslp.yml", "html": "aslp.html", "text": "aslp.LICENSE" }, { "license_key": "aslr", "spdx_license_key": "LicenseRef-scancode-aslr", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "aslr.json", "yml": "aslr.yml", "html": "aslr.html", "text": "aslr.LICENSE" }, { "license_key": "asmus", "spdx_license_key": "LicenseRef-scancode-asmus", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "asmus.json", "yml": "asmus.yml", "html": "asmus.html", "text": "asmus.LICENSE" }, { "license_key": "asn1", "spdx_license_key": "LicenseRef-scancode-asn1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "asn1.json", "yml": "asn1.yml", "html": "asn1.html", "text": "asn1.LICENSE" }, { "license_key": "ati-eula", "spdx_license_key": "LicenseRef-scancode-ati-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ati-eula.json", "yml": "ati-eula.yml", "html": "ati-eula.html", "text": "ati-eula.LICENSE" }, { "license_key": "atlassian-marketplace-tou", "spdx_license_key": "LicenseRef-scancode-atlassian-marketplace-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "atlassian-marketplace-tou.json", "yml": "atlassian-marketplace-tou.yml", "html": "atlassian-marketplace-tou.html", "text": "atlassian-marketplace-tou.LICENSE" }, { "license_key": "atmel-firmware", "spdx_license_key": "LicenseRef-scancode-atmel-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "atmel-firmware.json", "yml": "atmel-firmware.yml", "html": "atmel-firmware.html", "text": "atmel-firmware.LICENSE" }, { "license_key": "atmosphere-0.4", "spdx_license_key": "LicenseRef-scancode-atmosphere-0.4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "atmosphere-0.4.json", "yml": "atmosphere-0.4.yml", "html": "atmosphere-0.4.html", "text": "atmosphere-0.4.LICENSE" }, { "license_key": "attribution", "spdx_license_key": "AAL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "attribution.json", "yml": "attribution.yml", "html": "attribution.html", "text": "attribution.LICENSE" }, { "license_key": "autoconf-exception-2.0", "spdx_license_key": "Autoconf-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoconf-exception-2.0.json", "yml": "autoconf-exception-2.0.yml", "html": "autoconf-exception-2.0.html", "text": "autoconf-exception-2.0.LICENSE" }, { "license_key": "autoconf-exception-3.0", "spdx_license_key": "Autoconf-exception-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoconf-exception-3.0.json", "yml": "autoconf-exception-3.0.yml", "html": "autoconf-exception-3.0.html", "text": "autoconf-exception-3.0.LICENSE" }, { "license_key": "autoconf-macro-exception", "spdx_license_key": "LicenseRef-scancode-autoconf-macro-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoconf-macro-exception.json", "yml": "autoconf-macro-exception.yml", "html": "autoconf-macro-exception.html", "text": "autoconf-macro-exception.LICENSE" }, { "license_key": "autoconf-simple-exception-2.0", "spdx_license_key": "LicenseRef-scancode-autoconf-simple-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoconf-simple-exception-2.0.json", "yml": "autoconf-simple-exception-2.0.yml", "html": "autoconf-simple-exception-2.0.html", "text": "autoconf-simple-exception-2.0.LICENSE" }, { "license_key": "autoconf-simple-exception", "spdx_license_key": "LicenseRef-scancode-autoconf-simple-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoconf-simple-exception.json", "yml": "autoconf-simple-exception.yml", "html": "autoconf-simple-exception.html", "text": "autoconf-simple-exception.LICENSE" }, { "license_key": "autoit-eula", "spdx_license_key": "LicenseRef-scancode-autoit-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "autoit-eula.json", "yml": "autoit-eula.yml", "html": "autoit-eula.html", "text": "autoit-eula.LICENSE" }, { "license_key": "autoopts-exception-2.0", "spdx_license_key": "LicenseRef-scancode-autoopts-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "autoopts-exception-2.0.json", "yml": "autoopts-exception-2.0.yml", "html": "autoopts-exception-2.0.html", "text": "autoopts-exception-2.0.LICENSE" }, { "license_key": "avisynth-c-interface-exception", "spdx_license_key": "LicenseRef-scancode-avisynth-c-interface-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "avisynth-c-interface-exception.json", "yml": "avisynth-c-interface-exception.yml", "html": "avisynth-c-interface-exception.html", "text": "avisynth-c-interface-exception.LICENSE" }, { "license_key": "avisynth-linking-exception", "spdx_license_key": "LicenseRef-scancode-avisynth-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "avisynth-linking-exception.json", "yml": "avisynth-linking-exception.yml", "html": "avisynth-linking-exception.html", "text": "avisynth-linking-exception.LICENSE" }, { "license_key": "bacula-exception", "spdx_license_key": "LicenseRef-scancode-bacula-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "bacula-exception.json", "yml": "bacula-exception.yml", "html": "bacula-exception.html", "text": "bacula-exception.LICENSE" }, { "license_key": "baekmuk-fonts", "spdx_license_key": "LicenseRef-scancode-baekmuk-fonts", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "baekmuk-fonts.json", "yml": "baekmuk-fonts.yml", "html": "baekmuk-fonts.html", "text": "baekmuk-fonts.LICENSE" }, { "license_key": "bahyph", "spdx_license_key": "Bahyph", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bahyph.json", "yml": "bahyph.yml", "html": "bahyph.html", "text": "bahyph.LICENSE" }, { "license_key": "bakoma-fonts-1995", "spdx_license_key": "LicenseRef-scancode-bakoma-fonts-1995", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bakoma-fonts-1995.json", "yml": "bakoma-fonts-1995.yml", "html": "bakoma-fonts-1995.html", "text": "bakoma-fonts-1995.LICENSE" }, { "license_key": "barr-tex", "spdx_license_key": "Barr", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "barr-tex.json", "yml": "barr-tex.yml", "html": "barr-tex.html", "text": "barr-tex.LICENSE" }, { "license_key": "bash-exception-gpl", "spdx_license_key": "LicenseRef-scancode-bash-exception-gpl-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "bash-exception-gpl.json", "yml": "bash-exception-gpl.yml", "html": "bash-exception-gpl.html", "text": "bash-exception-gpl.LICENSE" }, { "license_key": "bea-2.1", "spdx_license_key": "LicenseRef-scancode-bea-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bea-2.1.json", "yml": "bea-2.1.yml", "html": "bea-2.1.html", "text": "bea-2.1.LICENSE" }, { "license_key": "beal-screamer", "spdx_license_key": "LicenseRef-scancode-beal-screamer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "beal-screamer.json", "yml": "beal-screamer.yml", "html": "beal-screamer.html", "text": "beal-screamer.LICENSE" }, { "license_key": "beerware", "spdx_license_key": "Beerware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "beerware.json", "yml": "beerware.yml", "html": "beerware.html", "text": "beerware.LICENSE" }, { "license_key": "bigdigits", "spdx_license_key": "LicenseRef-scancode-bigdigits", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bigdigits.json", "yml": "bigdigits.yml", "html": "bigdigits.html", "text": "bigdigits.LICENSE" }, { "license_key": "bigelow-holmes", "spdx_license_key": "LicenseRef-scancode-bigelow-holmes", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bigelow-holmes.json", "yml": "bigelow-holmes.yml", "html": "bigelow-holmes.html", "text": "bigelow-holmes.LICENSE" }, { "license_key": "biopython", "spdx_license_key": "LicenseRef-scancode-biopython", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "biopython.json", "yml": "biopython.yml", "html": "biopython.html", "text": "biopython.LICENSE" }, { "license_key": "biosl-4.0", "spdx_license_key": "LicenseRef-scancode-biosl-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "biosl-4.0.json", "yml": "biosl-4.0.yml", "html": "biosl-4.0.html", "text": "biosl-4.0.LICENSE" }, { "license_key": "bison-exception-2.0", "spdx_license_key": "LicenseRef-scancode-bison-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "bison-exception-2.0.json", "yml": "bison-exception-2.0.yml", "html": "bison-exception-2.0.html", "text": "bison-exception-2.0.LICENSE" }, { "license_key": "bison-exception-2.2", "spdx_license_key": "Bison-exception-2.2", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "bison-exception-2.2.json", "yml": "bison-exception-2.2.yml", "html": "bison-exception-2.2.html", "text": "bison-exception-2.2.LICENSE" }, { "license_key": "bitstream", "spdx_license_key": "LicenseRef-scancode-bitstream", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bitstream.json", "yml": "bitstream.yml", "html": "bitstream.html", "text": "bitstream.LICENSE" }, { "license_key": "bittorrent-1.0", "spdx_license_key": "BitTorrent-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bittorrent-1.0.json", "yml": "bittorrent-1.0.yml", "html": "bittorrent-1.0.html", "text": "bittorrent-1.0.LICENSE" }, { "license_key": "bittorrent-1.1", "spdx_license_key": "BitTorrent-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bittorrent-1.1.json", "yml": "bittorrent-1.1.yml", "html": "bittorrent-1.1.html", "text": "bittorrent-1.1.LICENSE" }, { "license_key": "bittorrent-1.2", "spdx_license_key": "LicenseRef-scancode-bittorrent-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bittorrent-1.2.json", "yml": "bittorrent-1.2.yml", "html": "bittorrent-1.2.html", "text": "bittorrent-1.2.LICENSE" }, { "license_key": "bittorrent-eula", "spdx_license_key": "LicenseRef-scancode-bittorrent-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bittorrent-eula.json", "yml": "bittorrent-eula.yml", "html": "bittorrent-eula.html", "text": "bittorrent-eula.LICENSE" }, { "license_key": "bitwarden-1.0", "spdx_license_key": "LicenseRef-scancode-bitwarden-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bitwarden-1.0.json", "yml": "bitwarden-1.0.yml", "html": "bitwarden-1.0.html", "text": "bitwarden-1.0.LICENSE" }, { "license_key": "bitzi-pd", "spdx_license_key": "LicenseRef-scancode-bitzi-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bitzi-pd.json", "yml": "bitzi-pd.yml", "html": "bitzi-pd.html", "text": "bitzi-pd.LICENSE" }, { "license_key": "blas-2017", "spdx_license_key": "LicenseRef-scancode-blas-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "blas-2017.json", "yml": "blas-2017.yml", "html": "blas-2017.html", "text": "blas-2017.LICENSE" }, { "license_key": "blessing", "spdx_license_key": "blessing", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "blessing.json", "yml": "blessing.yml", "html": "blessing.html", "text": "blessing.LICENSE" }, { "license_key": "blitz-artistic", "spdx_license_key": "LicenseRef-scancode-blitz-artistic", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "blitz-artistic.json", "yml": "blitz-artistic.yml", "html": "blitz-artistic.html", "text": "blitz-artistic.LICENSE" }, { "license_key": "bloomberg-blpapi", "spdx_license_key": "LicenseRef-scancode-bloomberg-blpapi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bloomberg-blpapi.json", "yml": "bloomberg-blpapi.yml", "html": "bloomberg-blpapi.html", "text": "bloomberg-blpapi.LICENSE" }, { "license_key": "blueoak-1.0.0", "spdx_license_key": "BlueOak-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "blueoak-1.0.0.json", "yml": "blueoak-1.0.0.yml", "html": "blueoak-1.0.0.html", "text": "blueoak-1.0.0.LICENSE" }, { "license_key": "boost-1.0", "spdx_license_key": "BSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "boost-1.0.json", "yml": "boost-1.0.yml", "html": "boost-1.0.html", "text": "boost-1.0.LICENSE" }, { "license_key": "boost-original", "spdx_license_key": "LicenseRef-scancode-boost-original", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "boost-original.json", "yml": "boost-original.yml", "html": "boost-original.html", "text": "boost-original.LICENSE" }, { "license_key": "bootloader-exception", "spdx_license_key": "Bootloader-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "bootloader-exception.json", "yml": "bootloader-exception.yml", "html": "bootloader-exception.html", "text": "bootloader-exception.LICENSE" }, { "license_key": "borceux", "spdx_license_key": "Borceux", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "borceux.json", "yml": "borceux.yml", "html": "borceux.html", "text": "borceux.LICENSE" }, { "license_key": "bpel4ws-spec", "spdx_license_key": "LicenseRef-scancode-bpel4ws-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bpel4ws-spec.json", "yml": "bpel4ws-spec.yml", "html": "bpel4ws-spec.html", "text": "bpel4ws-spec.LICENSE" }, { "license_key": "bpmn-io", "spdx_license_key": "LicenseRef-scancode-bpmn-io", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bpmn-io.json", "yml": "bpmn-io.yml", "html": "bpmn-io.html", "text": "bpmn-io.LICENSE" }, { "license_key": "brad-martinez-vb-32", "spdx_license_key": "LicenseRef-scancode-brad-martinez-vb-32", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brad-martinez-vb-32.json", "yml": "brad-martinez-vb-32.yml", "html": "brad-martinez-vb-32.html", "text": "brad-martinez-vb-32.LICENSE" }, { "license_key": "brent-corkum", "spdx_license_key": "LicenseRef-scancode-brent-corkum", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brent-corkum.json", "yml": "brent-corkum.yml", "html": "brent-corkum.html", "text": "brent-corkum.LICENSE" }, { "license_key": "brian-clapper", "spdx_license_key": "LicenseRef-scancode-brian-clapper", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brian-clapper.json", "yml": "brian-clapper.yml", "html": "brian-clapper.html", "text": "brian-clapper.LICENSE" }, { "license_key": "brian-gladman-3-clause", "spdx_license_key": "LicenseRef-scancode-brian-gladman-3-clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brian-gladman-3-clause.json", "yml": "brian-gladman-3-clause.yml", "html": "brian-gladman-3-clause.html", "text": "brian-gladman-3-clause.LICENSE" }, { "license_key": "brian-gladman-dual", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "brian-gladman-dual.json", "yml": "brian-gladman-dual.yml", "html": "brian-gladman-dual.html", "text": "brian-gladman-dual.LICENSE" }, { "license_key": "brian-gladman", "spdx_license_key": "LicenseRef-scancode-brian-gladman", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brian-gladman.json", "yml": "brian-gladman.yml", "html": "brian-gladman.html", "text": "brian-gladman.LICENSE" }, { "license_key": "broadcom-cfe", "spdx_license_key": "LicenseRef-scancode-broadcom-cfe", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-cfe.json", "yml": "broadcom-cfe.yml", "html": "broadcom-cfe.html", "text": "broadcom-cfe.LICENSE" }, { "license_key": "broadcom-commercial", "spdx_license_key": "LicenseRef-scancode-broadcom-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-commercial.json", "yml": "broadcom-commercial.yml", "html": "broadcom-commercial.html", "text": "broadcom-commercial.LICENSE" }, { "license_key": "broadcom-confidential", "spdx_license_key": "LicenseRef-scancode-broadcom-confidential", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-confidential.json", "yml": "broadcom-confidential.yml", "html": "broadcom-confidential.html", "text": "broadcom-confidential.LICENSE" }, { "license_key": "broadcom-dual", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "broadcom-dual.json", "yml": "broadcom-dual.yml", "html": "broadcom-dual.html", "text": "broadcom-dual.LICENSE" }, { "license_key": "broadcom-linking-exception-2.0", "spdx_license_key": "LicenseRef-scancode-broadcom-linking-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "broadcom-linking-exception-2.0.json", "yml": "broadcom-linking-exception-2.0.yml", "html": "broadcom-linking-exception-2.0.html", "text": "broadcom-linking-exception-2.0.LICENSE" }, { "license_key": "broadcom-linking-unmodified", "spdx_license_key": "LicenseRef-scancode-broadcom-linking-unmodified", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "broadcom-linking-unmodified.json", "yml": "broadcom-linking-unmodified.yml", "html": "broadcom-linking-unmodified.html", "text": "broadcom-linking-unmodified.LICENSE" }, { "license_key": "broadcom-linux-timer", "spdx_license_key": "LicenseRef-scancode-broadcom-linux-timer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-linux-timer.json", "yml": "broadcom-linux-timer.yml", "html": "broadcom-linux-timer.html", "text": "broadcom-linux-timer.LICENSE" }, { "license_key": "broadcom-proprietary", "spdx_license_key": "LicenseRef-scancode-broadcom-proprietary", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-proprietary.json", "yml": "broadcom-proprietary.yml", "html": "broadcom-proprietary.html", "text": "broadcom-proprietary.LICENSE" }, { "license_key": "broadcom-standard-terms", "spdx_license_key": "LicenseRef-scancode-broadcom-standard-terms", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-standard-terms.json", "yml": "broadcom-standard-terms.yml", "html": "broadcom-standard-terms.html", "text": "broadcom-standard-terms.LICENSE" }, { "license_key": "broadcom-unpublished-source", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "broadcom-unpublished-source.json", "yml": "broadcom-unpublished-source.yml", "html": "broadcom-unpublished-source.html", "text": "broadcom-unpublished-source.LICENSE" }, { "license_key": "broadcom-wiced", "spdx_license_key": "LicenseRef-scancode-broadcom-wiced", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadcom-wiced.json", "yml": "broadcom-wiced.yml", "html": "broadcom-wiced.html", "text": "broadcom-wiced.LICENSE" }, { "license_key": "broadleaf-fair-use", "spdx_license_key": "LicenseRef-scancode-broadleaf-fair-use", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "broadleaf-fair-use.json", "yml": "broadleaf-fair-use.yml", "html": "broadleaf-fair-use.html", "text": "broadleaf-fair-use.LICENSE" }, { "license_key": "brocade-firmware", "spdx_license_key": "LicenseRef-scancode-brocade-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "brocade-firmware.json", "yml": "brocade-firmware.yml", "html": "brocade-firmware.html", "text": "brocade-firmware.LICENSE" }, { "license_key": "bruno-podetti", "spdx_license_key": "LicenseRef-scancode-bruno-podetti", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bruno-podetti.json", "yml": "bruno-podetti.yml", "html": "bruno-podetti.html", "text": "bruno-podetti.LICENSE" }, { "license_key": "bsd-1-clause-build", "spdx_license_key": "LicenseRef-scancode-bsd-1-clause-build", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-1-clause-build.json", "yml": "bsd-1-clause-build.yml", "html": "bsd-1-clause-build.html", "text": "bsd-1-clause-build.LICENSE" }, { "license_key": "bsd-1-clause", "spdx_license_key": "BSD-1-Clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-1-clause.json", "yml": "bsd-1-clause.yml", "html": "bsd-1-clause.html", "text": "bsd-1-clause.LICENSE" }, { "license_key": "bsd-1988", "spdx_license_key": "LicenseRef-scancode-bsd-1988", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-1988.json", "yml": "bsd-1988.yml", "html": "bsd-1988.html", "text": "bsd-1988.LICENSE" }, { "license_key": "bsd-2-clause-freebsd", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bsd-2-clause-freebsd.json", "yml": "bsd-2-clause-freebsd.yml", "html": "bsd-2-clause-freebsd.html", "text": "bsd-2-clause-freebsd.LICENSE" }, { "license_key": "bsd-2-clause-netbsd", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bsd-2-clause-netbsd.json", "yml": "bsd-2-clause-netbsd.yml", "html": "bsd-2-clause-netbsd.html", "text": "bsd-2-clause-netbsd.LICENSE" }, { "license_key": "bsd-2-clause-plus-advertizing", "spdx_license_key": "LicenseRef-scancode-bsd-2-clause-plus-advertizing", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-2-clause-plus-advertizing.json", "yml": "bsd-2-clause-plus-advertizing.yml", "html": "bsd-2-clause-plus-advertizing.html", "text": "bsd-2-clause-plus-advertizing.LICENSE" }, { "license_key": "bsd-2-clause-views", "spdx_license_key": "BSD-2-Clause-Views", "other_spdx_license_keys": [ "BSD-2-Clause-FreeBSD" ], "is_exception": false, "is_deprecated": false, "json": "bsd-2-clause-views.json", "yml": "bsd-2-clause-views.yml", "html": "bsd-2-clause-views.html", "text": "bsd-2-clause-views.LICENSE" }, { "license_key": "bsd-3-clause-devine", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-devine", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-devine.json", "yml": "bsd-3-clause-devine.yml", "html": "bsd-3-clause-devine.html", "text": "bsd-3-clause-devine.LICENSE" }, { "license_key": "bsd-3-clause-fda", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-fda", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-fda.json", "yml": "bsd-3-clause-fda.yml", "html": "bsd-3-clause-fda.html", "text": "bsd-3-clause-fda.LICENSE" }, { "license_key": "bsd-3-clause-jtag", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-jtag", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-jtag.json", "yml": "bsd-3-clause-jtag.yml", "html": "bsd-3-clause-jtag.html", "text": "bsd-3-clause-jtag.LICENSE" }, { "license_key": "bsd-3-clause-no-change", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-no-change", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-no-change.json", "yml": "bsd-3-clause-no-change.yml", "html": "bsd-3-clause-no-change.html", "text": "bsd-3-clause-no-change.LICENSE" }, { "license_key": "bsd-3-clause-no-military", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-no-military", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-no-military.json", "yml": "bsd-3-clause-no-military.yml", "html": "bsd-3-clause-no-military.html", "text": "bsd-3-clause-no-military.LICENSE" }, { "license_key": "bsd-3-clause-no-nuclear-warranty", "spdx_license_key": "BSD-3-Clause-No-Nuclear-Warranty", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-no-nuclear-warranty.json", "yml": "bsd-3-clause-no-nuclear-warranty.yml", "html": "bsd-3-clause-no-nuclear-warranty.html", "text": "bsd-3-clause-no-nuclear-warranty.LICENSE" }, { "license_key": "bsd-3-clause-no-trademark", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-no-trademark", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-no-trademark.json", "yml": "bsd-3-clause-no-trademark.yml", "html": "bsd-3-clause-no-trademark.html", "text": "bsd-3-clause-no-trademark.LICENSE" }, { "license_key": "bsd-3-clause-open-mpi", "spdx_license_key": "BSD-3-Clause-Open-MPI", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-open-mpi.json", "yml": "bsd-3-clause-open-mpi.yml", "html": "bsd-3-clause-open-mpi.html", "text": "bsd-3-clause-open-mpi.LICENSE" }, { "license_key": "bsd-3-clause-sun", "spdx_license_key": "LicenseRef-scancode-bsd-3-clause-sun", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-3-clause-sun.json", "yml": "bsd-3-clause-sun.yml", "html": "bsd-3-clause-sun.html", "text": "bsd-3-clause-sun.LICENSE" }, { "license_key": "bsd-4-clause-shortened", "spdx_license_key": "BSD-4-Clause-Shortened", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-4-clause-shortened.json", "yml": "bsd-4-clause-shortened.yml", "html": "bsd-4-clause-shortened.html", "text": "bsd-4-clause-shortened.LICENSE" }, { "license_key": "bsd-ack-carrot2", "spdx_license_key": "LicenseRef-scancode-bsd-ack-carrot2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-ack-carrot2.json", "yml": "bsd-ack-carrot2.yml", "html": "bsd-ack-carrot2.html", "text": "bsd-ack-carrot2.LICENSE" }, { "license_key": "bsd-ack", "spdx_license_key": "BSD-3-Clause-Attribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-ack.json", "yml": "bsd-ack.yml", "html": "bsd-ack.html", "text": "bsd-ack.LICENSE" }, { "license_key": "bsd-artwork", "spdx_license_key": "LicenseRef-scancode-bsd-artwork", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-artwork.json", "yml": "bsd-artwork.yml", "html": "bsd-artwork.html", "text": "bsd-artwork.LICENSE" }, { "license_key": "bsd-atmel", "spdx_license_key": "LicenseRef-scancode-bsd-atmel", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-atmel.json", "yml": "bsd-atmel.yml", "html": "bsd-atmel.html", "text": "bsd-atmel.LICENSE" }, { "license_key": "bsd-axis-nomod", "spdx_license_key": "LicenseRef-scancode-bsd-axis-nomod", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-axis-nomod.json", "yml": "bsd-axis-nomod.yml", "html": "bsd-axis-nomod.html", "text": "bsd-axis-nomod.LICENSE" }, { "license_key": "bsd-axis", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bsd-axis.json", "yml": "bsd-axis.yml", "html": "bsd-axis.html", "text": "bsd-axis.LICENSE" }, { "license_key": "bsd-credit", "spdx_license_key": "LicenseRef-scancode-bsd-credit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-credit.json", "yml": "bsd-credit.yml", "html": "bsd-credit.html", "text": "bsd-credit.LICENSE" }, { "license_key": "bsd-dpt", "spdx_license_key": "LicenseRef-scancode-bsd-dpt", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-dpt.json", "yml": "bsd-dpt.yml", "html": "bsd-dpt.html", "text": "bsd-dpt.LICENSE" }, { "license_key": "bsd-export", "spdx_license_key": "LicenseRef-scancode-bsd-export", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-export.json", "yml": "bsd-export.yml", "html": "bsd-export.html", "text": "bsd-export.LICENSE" }, { "license_key": "bsd-innosys", "spdx_license_key": "LicenseRef-scancode-bsd-innosys", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-innosys.json", "yml": "bsd-innosys.yml", "html": "bsd-innosys.html", "text": "bsd-innosys.LICENSE" }, { "license_key": "bsd-intel", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bsd-intel.json", "yml": "bsd-intel.yml", "html": "bsd-intel.html", "text": "bsd-intel.LICENSE" }, { "license_key": "bsd-mylex", "spdx_license_key": "LicenseRef-scancode-bsd-mylex", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-mylex.json", "yml": "bsd-mylex.yml", "html": "bsd-mylex.html", "text": "bsd-mylex.LICENSE" }, { "license_key": "bsd-new-derivative", "spdx_license_key": "LicenseRef-scancode-bsd-new-derivative", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-new-derivative.json", "yml": "bsd-new-derivative.yml", "html": "bsd-new-derivative.html", "text": "bsd-new-derivative.LICENSE" }, { "license_key": "bsd-new-far-manager", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "bsd-new-far-manager.json", "yml": "bsd-new-far-manager.yml", "html": "bsd-new-far-manager.html", "text": "bsd-new-far-manager.LICENSE" }, { "license_key": "bsd-new-nomod", "spdx_license_key": "LicenseRef-scancode-bsd-new-nomod", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-new-nomod.json", "yml": "bsd-new-nomod.yml", "html": "bsd-new-nomod.html", "text": "bsd-new-nomod.LICENSE" }, { "license_key": "bsd-new-tcpdump", "spdx_license_key": "LicenseRef-scancode-bsd-new-tcpdump", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-new-tcpdump.json", "yml": "bsd-new-tcpdump.yml", "html": "bsd-new-tcpdump.html", "text": "bsd-new-tcpdump.LICENSE" }, { "license_key": "bsd-new", "spdx_license_key": "BSD-3-Clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-new.json", "yml": "bsd-new.yml", "html": "bsd-new.html", "text": "bsd-new.LICENSE" }, { "license_key": "bsd-no-disclaimer-unmodified", "spdx_license_key": "LicenseRef-scancode-bsd-no-disclaimer-unmodified", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-no-disclaimer-unmodified.json", "yml": "bsd-no-disclaimer-unmodified.yml", "html": "bsd-no-disclaimer-unmodified.html", "text": "bsd-no-disclaimer-unmodified.LICENSE" }, { "license_key": "bsd-no-disclaimer", "spdx_license_key": "LicenseRef-scancode-bsd-no-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-no-disclaimer.json", "yml": "bsd-no-disclaimer.yml", "html": "bsd-no-disclaimer.html", "text": "bsd-no-disclaimer.LICENSE" }, { "license_key": "bsd-no-mod", "spdx_license_key": "LicenseRef-scancode-bsd-no-mod", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-no-mod.json", "yml": "bsd-no-mod.yml", "html": "bsd-no-mod.html", "text": "bsd-no-mod.LICENSE" }, { "license_key": "bsd-original-muscle", "spdx_license_key": "LicenseRef-scancode-bsd-original-muscle", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-original-muscle.json", "yml": "bsd-original-muscle.yml", "html": "bsd-original-muscle.html", "text": "bsd-original-muscle.LICENSE" }, { "license_key": "bsd-original-uc-1986", "spdx_license_key": "LicenseRef-scancode-bsd-original-uc-1986", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-original-uc-1986.json", "yml": "bsd-original-uc-1986.yml", "html": "bsd-original-uc-1986.html", "text": "bsd-original-uc-1986.LICENSE" }, { "license_key": "bsd-original-uc-1990", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bsd-original-uc-1990.json", "yml": "bsd-original-uc-1990.yml", "html": "bsd-original-uc-1990.html", "text": "bsd-original-uc-1990.LICENSE" }, { "license_key": "bsd-original-uc", "spdx_license_key": "BSD-4-Clause-UC", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-original-uc.json", "yml": "bsd-original-uc.yml", "html": "bsd-original-uc.html", "text": "bsd-original-uc.LICENSE" }, { "license_key": "bsd-original", "spdx_license_key": "BSD-4-Clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-original.json", "yml": "bsd-original.yml", "html": "bsd-original.html", "text": "bsd-original.LICENSE" }, { "license_key": "bsd-plus-mod-notice", "spdx_license_key": "LicenseRef-scancode-bsd-plus-mod-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-plus-mod-notice.json", "yml": "bsd-plus-mod-notice.yml", "html": "bsd-plus-mod-notice.html", "text": "bsd-plus-mod-notice.LICENSE" }, { "license_key": "bsd-plus-patent", "spdx_license_key": "BSD-2-Clause-Patent", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-plus-patent.json", "yml": "bsd-plus-patent.yml", "html": "bsd-plus-patent.html", "text": "bsd-plus-patent.LICENSE" }, { "license_key": "bsd-protection", "spdx_license_key": "BSD-Protection", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-protection.json", "yml": "bsd-protection.yml", "html": "bsd-protection.html", "text": "bsd-protection.LICENSE" }, { "license_key": "bsd-simplified-darwin", "spdx_license_key": "LicenseRef-scancode-bsd-simplified-darwin", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-simplified-darwin.json", "yml": "bsd-simplified-darwin.yml", "html": "bsd-simplified-darwin.html", "text": "bsd-simplified-darwin.LICENSE" }, { "license_key": "bsd-simplified-intel", "spdx_license_key": "LicenseRef-scancode-bsd-simplified-intel", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-simplified-intel.json", "yml": "bsd-simplified-intel.yml", "html": "bsd-simplified-intel.html", "text": "bsd-simplified-intel.LICENSE" }, { "license_key": "bsd-simplified-source", "spdx_license_key": "LicenseRef-scancode-bsd-simplified-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-simplified-source.json", "yml": "bsd-simplified-source.yml", "html": "bsd-simplified-source.html", "text": "bsd-simplified-source.LICENSE" }, { "license_key": "bsd-simplified", "spdx_license_key": "BSD-2-Clause", "other_spdx_license_keys": [ "BSD-2-Clause-NetBSD", "BSD-2" ], "is_exception": false, "is_deprecated": false, "json": "bsd-simplified.json", "yml": "bsd-simplified.yml", "html": "bsd-simplified.html", "text": "bsd-simplified.LICENSE" }, { "license_key": "bsd-source-code", "spdx_license_key": "BSD-Source-Code", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-source-code.json", "yml": "bsd-source-code.yml", "html": "bsd-source-code.html", "text": "bsd-source-code.LICENSE" }, { "license_key": "bsd-top-gpl-addition", "spdx_license_key": "LicenseRef-scancode-bsd-top-gpl-addition", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-top-gpl-addition.json", "yml": "bsd-top-gpl-addition.yml", "html": "bsd-top-gpl-addition.html", "text": "bsd-top-gpl-addition.LICENSE" }, { "license_key": "bsd-top", "spdx_license_key": "LicenseRef-scancode-bsd-top", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-top.json", "yml": "bsd-top.yml", "html": "bsd-top.html", "text": "bsd-top.LICENSE" }, { "license_key": "bsd-unchanged", "spdx_license_key": "LicenseRef-scancode-bsd-unchanged", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-unchanged.json", "yml": "bsd-unchanged.yml", "html": "bsd-unchanged.html", "text": "bsd-unchanged.LICENSE" }, { "license_key": "bsd-unmodified", "spdx_license_key": "LicenseRef-scancode-bsd-unmodified", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-unmodified.json", "yml": "bsd-unmodified.yml", "html": "bsd-unmodified.html", "text": "bsd-unmodified.LICENSE" }, { "license_key": "bsd-x11", "spdx_license_key": "LicenseRef-scancode-bsd-x11", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-x11.json", "yml": "bsd-x11.yml", "html": "bsd-x11.html", "text": "bsd-x11.LICENSE" }, { "license_key": "bsd-zero", "spdx_license_key": "0BSD", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsd-zero.json", "yml": "bsd-zero.yml", "html": "bsd-zero.html", "text": "bsd-zero.LICENSE" }, { "license_key": "bsl-1.0", "spdx_license_key": "LicenseRef-scancode-bsl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsl-1.0.json", "yml": "bsl-1.0.yml", "html": "bsl-1.0.html", "text": "bsl-1.0.LICENSE" }, { "license_key": "bsl-1.1", "spdx_license_key": "BUSL-1.1", "other_spdx_license_keys": [ "LicenseRef-scancode-bsl-1.1" ], "is_exception": false, "is_deprecated": false, "json": "bsl-1.1.json", "yml": "bsl-1.1.yml", "html": "bsl-1.1.html", "text": "bsl-1.1.LICENSE" }, { "license_key": "bsla", "spdx_license_key": "LicenseRef-scancode-bsla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bsla.json", "yml": "bsla.yml", "html": "bsla.html", "text": "bsla.LICENSE" }, { "license_key": "bugsense-sdk", "spdx_license_key": "LicenseRef-scancode-bugsense-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bugsense-sdk.json", "yml": "bugsense-sdk.yml", "html": "bugsense-sdk.html", "text": "bugsense-sdk.LICENSE" }, { "license_key": "bytemark", "spdx_license_key": "LicenseRef-scancode-bytemark", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "bytemark.json", "yml": "bytemark.yml", "html": "bytemark.html", "text": "bytemark.LICENSE" }, { "license_key": "bzip2-libbzip-1.0.5", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "bzip2-libbzip-1.0.5.json", "yml": "bzip2-libbzip-1.0.5.yml", "html": "bzip2-libbzip-1.0.5.html", "text": "bzip2-libbzip-1.0.5.LICENSE" }, { "license_key": "bzip2-libbzip-2010", "spdx_license_key": "bzip2-1.0.6", "other_spdx_license_keys": [ "bzip2-1.0.5" ], "is_exception": false, "is_deprecated": false, "json": "bzip2-libbzip-2010.json", "yml": "bzip2-libbzip-2010.yml", "html": "bzip2-libbzip-2010.html", "text": "bzip2-libbzip-2010.LICENSE" }, { "license_key": "c-fsl-1.1", "spdx_license_key": "LicenseRef-scancode-c-fsl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "c-fsl-1.1.json", "yml": "c-fsl-1.1.yml", "html": "c-fsl-1.1.html", "text": "c-fsl-1.1.LICENSE" }, { "license_key": "c-uda-1.0", "spdx_license_key": "C-UDA-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "c-uda-1.0.json", "yml": "c-uda-1.0.yml", "html": "c-uda-1.0.html", "text": "c-uda-1.0.LICENSE" }, { "license_key": "ca-tosl-1.1", "spdx_license_key": "CATOSL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ca-tosl-1.1.json", "yml": "ca-tosl-1.1.yml", "html": "ca-tosl-1.1.html", "text": "ca-tosl-1.1.LICENSE" }, { "license_key": "cal-1.0-combined-work-exception", "spdx_license_key": "CAL-1.0-Combined-Work-Exception", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cal-1.0-combined-work-exception.json", "yml": "cal-1.0-combined-work-exception.yml", "html": "cal-1.0-combined-work-exception.html", "text": "cal-1.0-combined-work-exception.LICENSE" }, { "license_key": "cal-1.0", "spdx_license_key": "CAL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cal-1.0.json", "yml": "cal-1.0.yml", "html": "cal-1.0.html", "text": "cal-1.0.LICENSE" }, { "license_key": "caldera", "spdx_license_key": "Caldera", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "caldera.json", "yml": "caldera.yml", "html": "caldera.html", "text": "caldera.LICENSE" }, { "license_key": "can-ogl-2.0-en", "spdx_license_key": "OGL-Canada-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-2.0-en.json", "yml": "can-ogl-2.0-en.yml", "html": "can-ogl-2.0-en.html", "text": "can-ogl-2.0-en.LICENSE" }, { "license_key": "can-ogl-alberta-2.1", "spdx_license_key": "LicenseRef-scancode-can-ogl-alberta-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-alberta-2.1.json", "yml": "can-ogl-alberta-2.1.yml", "html": "can-ogl-alberta-2.1.html", "text": "can-ogl-alberta-2.1.LICENSE" }, { "license_key": "can-ogl-british-columbia-2.0", "spdx_license_key": "LicenseRef-scancode-can-ogl-british-columbia-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-british-columbia-2.0.json", "yml": "can-ogl-british-columbia-2.0.yml", "html": "can-ogl-british-columbia-2.0.html", "text": "can-ogl-british-columbia-2.0.LICENSE" }, { "license_key": "can-ogl-nova-scotia-1.0", "spdx_license_key": "LicenseRef-scancode-can-ogl-nova-scotia-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-nova-scotia-1.0.json", "yml": "can-ogl-nova-scotia-1.0.yml", "html": "can-ogl-nova-scotia-1.0.html", "text": "can-ogl-nova-scotia-1.0.LICENSE" }, { "license_key": "can-ogl-ontario-1.0", "spdx_license_key": "LicenseRef-scancode-can-ogl-ontario-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-ontario-1.0.json", "yml": "can-ogl-ontario-1.0.yml", "html": "can-ogl-ontario-1.0.html", "text": "can-ogl-ontario-1.0.LICENSE" }, { "license_key": "can-ogl-toronto-1.0", "spdx_license_key": "LicenseRef-scancode-can-ogl-toronto-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "can-ogl-toronto-1.0.json", "yml": "can-ogl-toronto-1.0.yml", "html": "can-ogl-toronto-1.0.html", "text": "can-ogl-toronto-1.0.LICENSE" }, { "license_key": "careware", "spdx_license_key": "LicenseRef-scancode-careware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "careware.json", "yml": "careware.yml", "html": "careware.html", "text": "careware.LICENSE" }, { "license_key": "carnegie-mellon-contributors", "spdx_license_key": "LicenseRef-scancode-carnegie-mellon-contributors", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "carnegie-mellon-contributors.json", "yml": "carnegie-mellon-contributors.yml", "html": "carnegie-mellon-contributors.html", "text": "carnegie-mellon-contributors.LICENSE" }, { "license_key": "carnegie-mellon", "spdx_license_key": "LicenseRef-scancode-carnegie-mellon", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "carnegie-mellon.json", "yml": "carnegie-mellon.yml", "html": "carnegie-mellon.html", "text": "carnegie-mellon.LICENSE" }, { "license_key": "cavium-malloc", "spdx_license_key": "LicenseRef-scancode-cavium-malloc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cavium-malloc.json", "yml": "cavium-malloc.yml", "html": "cavium-malloc.html", "text": "cavium-malloc.LICENSE" }, { "license_key": "cavium-targeted-hardware", "spdx_license_key": "LicenseRef-scancode-cavium-targeted-hardware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cavium-targeted-hardware.json", "yml": "cavium-targeted-hardware.yml", "html": "cavium-targeted-hardware.html", "text": "cavium-targeted-hardware.LICENSE" }, { "license_key": "cc-by-1.0", "spdx_license_key": "CC-BY-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-1.0.json", "yml": "cc-by-1.0.yml", "html": "cc-by-1.0.html", "text": "cc-by-1.0.LICENSE" }, { "license_key": "cc-by-2.0-uk", "spdx_license_key": "LicenseRef-scancode-cc-by-2.0-uk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-2.0-uk.json", "yml": "cc-by-2.0-uk.yml", "html": "cc-by-2.0-uk.html", "text": "cc-by-2.0-uk.LICENSE" }, { "license_key": "cc-by-2.0", "spdx_license_key": "CC-BY-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-2.0.json", "yml": "cc-by-2.0.yml", "html": "cc-by-2.0.html", "text": "cc-by-2.0.LICENSE" }, { "license_key": "cc-by-2.5", "spdx_license_key": "CC-BY-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-2.5.json", "yml": "cc-by-2.5.yml", "html": "cc-by-2.5.html", "text": "cc-by-2.5.LICENSE" }, { "license_key": "cc-by-3.0-us", "spdx_license_key": "CC-BY-3.0-US", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-3.0-us.json", "yml": "cc-by-3.0-us.yml", "html": "cc-by-3.0-us.html", "text": "cc-by-3.0-us.LICENSE" }, { "license_key": "cc-by-3.0", "spdx_license_key": "CC-BY-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-3.0.json", "yml": "cc-by-3.0.yml", "html": "cc-by-3.0.html", "text": "cc-by-3.0.LICENSE" }, { "license_key": "cc-by-4.0", "spdx_license_key": "CC-BY-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-4.0.json", "yml": "cc-by-4.0.yml", "html": "cc-by-4.0.html", "text": "cc-by-4.0.LICENSE" }, { "license_key": "cc-by-nc-1.0", "spdx_license_key": "CC-BY-NC-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-1.0.json", "yml": "cc-by-nc-1.0.yml", "html": "cc-by-nc-1.0.html", "text": "cc-by-nc-1.0.LICENSE" }, { "license_key": "cc-by-nc-2.0", "spdx_license_key": "CC-BY-NC-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-2.0.json", "yml": "cc-by-nc-2.0.yml", "html": "cc-by-nc-2.0.html", "text": "cc-by-nc-2.0.LICENSE" }, { "license_key": "cc-by-nc-2.5", "spdx_license_key": "CC-BY-NC-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-2.5.json", "yml": "cc-by-nc-2.5.yml", "html": "cc-by-nc-2.5.html", "text": "cc-by-nc-2.5.LICENSE" }, { "license_key": "cc-by-nc-3.0", "spdx_license_key": "CC-BY-NC-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-3.0.json", "yml": "cc-by-nc-3.0.yml", "html": "cc-by-nc-3.0.html", "text": "cc-by-nc-3.0.LICENSE" }, { "license_key": "cc-by-nc-4.0", "spdx_license_key": "CC-BY-NC-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-4.0.json", "yml": "cc-by-nc-4.0.yml", "html": "cc-by-nc-4.0.html", "text": "cc-by-nc-4.0.LICENSE" }, { "license_key": "cc-by-nc-nd-1.0", "spdx_license_key": "CC-BY-NC-ND-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-1.0.json", "yml": "cc-by-nc-nd-1.0.yml", "html": "cc-by-nc-nd-1.0.html", "text": "cc-by-nc-nd-1.0.LICENSE" }, { "license_key": "cc-by-nc-nd-2.0-au", "spdx_license_key": "LicenseRef-scancode-cc-by-nc-nd-2.0-au", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-2.0-au.json", "yml": "cc-by-nc-nd-2.0-au.yml", "html": "cc-by-nc-nd-2.0-au.html", "text": "cc-by-nc-nd-2.0-au.LICENSE" }, { "license_key": "cc-by-nc-nd-2.0", "spdx_license_key": "CC-BY-NC-ND-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-2.0.json", "yml": "cc-by-nc-nd-2.0.yml", "html": "cc-by-nc-nd-2.0.html", "text": "cc-by-nc-nd-2.0.LICENSE" }, { "license_key": "cc-by-nc-nd-2.5", "spdx_license_key": "CC-BY-NC-ND-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-2.5.json", "yml": "cc-by-nc-nd-2.5.yml", "html": "cc-by-nc-nd-2.5.html", "text": "cc-by-nc-nd-2.5.LICENSE" }, { "license_key": "cc-by-nc-nd-3.0-igo", "spdx_license_key": "CC-BY-NC-ND-3.0-IGO", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-3.0-igo.json", "yml": "cc-by-nc-nd-3.0-igo.yml", "html": "cc-by-nc-nd-3.0-igo.html", "text": "cc-by-nc-nd-3.0-igo.LICENSE" }, { "license_key": "cc-by-nc-nd-3.0", "spdx_license_key": "CC-BY-NC-ND-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-3.0.json", "yml": "cc-by-nc-nd-3.0.yml", "html": "cc-by-nc-nd-3.0.html", "text": "cc-by-nc-nd-3.0.LICENSE" }, { "license_key": "cc-by-nc-nd-4.0", "spdx_license_key": "CC-BY-NC-ND-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-nd-4.0.json", "yml": "cc-by-nc-nd-4.0.yml", "html": "cc-by-nc-nd-4.0.html", "text": "cc-by-nc-nd-4.0.LICENSE" }, { "license_key": "cc-by-nc-sa-1.0", "spdx_license_key": "CC-BY-NC-SA-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-1.0.json", "yml": "cc-by-nc-sa-1.0.yml", "html": "cc-by-nc-sa-1.0.html", "text": "cc-by-nc-sa-1.0.LICENSE" }, { "license_key": "cc-by-nc-sa-2.0", "spdx_license_key": "CC-BY-NC-SA-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-2.0.json", "yml": "cc-by-nc-sa-2.0.yml", "html": "cc-by-nc-sa-2.0.html", "text": "cc-by-nc-sa-2.0.LICENSE" }, { "license_key": "cc-by-nc-sa-2.5", "spdx_license_key": "CC-BY-NC-SA-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-2.5.json", "yml": "cc-by-nc-sa-2.5.yml", "html": "cc-by-nc-sa-2.5.html", "text": "cc-by-nc-sa-2.5.LICENSE" }, { "license_key": "cc-by-nc-sa-3.0-us", "spdx_license_key": "LicenseRef-scancode-cc-by-nc-sa-3.0-us", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-3.0-us.json", "yml": "cc-by-nc-sa-3.0-us.yml", "html": "cc-by-nc-sa-3.0-us.html", "text": "cc-by-nc-sa-3.0-us.LICENSE" }, { "license_key": "cc-by-nc-sa-3.0", "spdx_license_key": "CC-BY-NC-SA-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-3.0.json", "yml": "cc-by-nc-sa-3.0.yml", "html": "cc-by-nc-sa-3.0.html", "text": "cc-by-nc-sa-3.0.LICENSE" }, { "license_key": "cc-by-nc-sa-4.0", "spdx_license_key": "CC-BY-NC-SA-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nc-sa-4.0.json", "yml": "cc-by-nc-sa-4.0.yml", "html": "cc-by-nc-sa-4.0.html", "text": "cc-by-nc-sa-4.0.LICENSE" }, { "license_key": "cc-by-nd-1.0", "spdx_license_key": "CC-BY-ND-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nd-1.0.json", "yml": "cc-by-nd-1.0.yml", "html": "cc-by-nd-1.0.html", "text": "cc-by-nd-1.0.LICENSE" }, { "license_key": "cc-by-nd-2.0", "spdx_license_key": "CC-BY-ND-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nd-2.0.json", "yml": "cc-by-nd-2.0.yml", "html": "cc-by-nd-2.0.html", "text": "cc-by-nd-2.0.LICENSE" }, { "license_key": "cc-by-nd-2.5", "spdx_license_key": "CC-BY-ND-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nd-2.5.json", "yml": "cc-by-nd-2.5.yml", "html": "cc-by-nd-2.5.html", "text": "cc-by-nd-2.5.LICENSE" }, { "license_key": "cc-by-nd-3.0", "spdx_license_key": "CC-BY-ND-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nd-3.0.json", "yml": "cc-by-nd-3.0.yml", "html": "cc-by-nd-3.0.html", "text": "cc-by-nd-3.0.LICENSE" }, { "license_key": "cc-by-nd-4.0", "spdx_license_key": "CC-BY-ND-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-nd-4.0.json", "yml": "cc-by-nd-4.0.yml", "html": "cc-by-nd-4.0.html", "text": "cc-by-nd-4.0.LICENSE" }, { "license_key": "cc-by-sa-1.0", "spdx_license_key": "CC-BY-SA-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-1.0.json", "yml": "cc-by-sa-1.0.yml", "html": "cc-by-sa-1.0.html", "text": "cc-by-sa-1.0.LICENSE" }, { "license_key": "cc-by-sa-2.0-uk", "spdx_license_key": "CC-BY-SA-2.0-UK", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-2.0-uk.json", "yml": "cc-by-sa-2.0-uk.yml", "html": "cc-by-sa-2.0-uk.html", "text": "cc-by-sa-2.0-uk.LICENSE" }, { "license_key": "cc-by-sa-2.0", "spdx_license_key": "CC-BY-SA-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-2.0.json", "yml": "cc-by-sa-2.0.yml", "html": "cc-by-sa-2.0.html", "text": "cc-by-sa-2.0.LICENSE" }, { "license_key": "cc-by-sa-2.5", "spdx_license_key": "CC-BY-SA-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-2.5.json", "yml": "cc-by-sa-2.5.yml", "html": "cc-by-sa-2.5.html", "text": "cc-by-sa-2.5.LICENSE" }, { "license_key": "cc-by-sa-3.0", "spdx_license_key": "CC-BY-SA-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-3.0.json", "yml": "cc-by-sa-3.0.yml", "html": "cc-by-sa-3.0.html", "text": "cc-by-sa-3.0.LICENSE" }, { "license_key": "cc-by-sa-4.0", "spdx_license_key": "CC-BY-SA-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-by-sa-4.0.json", "yml": "cc-by-sa-4.0.yml", "html": "cc-by-sa-4.0.html", "text": "cc-by-sa-4.0.LICENSE" }, { "license_key": "cc-devnations-2.0", "spdx_license_key": "LicenseRef-scancode-cc-devnations-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-devnations-2.0.json", "yml": "cc-devnations-2.0.yml", "html": "cc-devnations-2.0.html", "text": "cc-devnations-2.0.LICENSE" }, { "license_key": "cc-nc-sampling-plus-1.0", "spdx_license_key": "LicenseRef-scancode-cc-nc-sampling-plus-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-nc-sampling-plus-1.0.json", "yml": "cc-nc-sampling-plus-1.0.yml", "html": "cc-nc-sampling-plus-1.0.html", "text": "cc-nc-sampling-plus-1.0.LICENSE" }, { "license_key": "cc-pd", "spdx_license_key": "CC-PDDC", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-pd.json", "yml": "cc-pd.yml", "html": "cc-pd.html", "text": "cc-pd.LICENSE" }, { "license_key": "cc-pdm-1.0", "spdx_license_key": "LicenseRef-scancode-cc-pdm-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-pdm-1.0.json", "yml": "cc-pdm-1.0.yml", "html": "cc-pdm-1.0.html", "text": "cc-pdm-1.0.LICENSE" }, { "license_key": "cc-sampling-1.0", "spdx_license_key": "LicenseRef-scancode-cc-sampling-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-sampling-1.0.json", "yml": "cc-sampling-1.0.yml", "html": "cc-sampling-1.0.html", "text": "cc-sampling-1.0.LICENSE" }, { "license_key": "cc-sampling-plus-1.0", "spdx_license_key": "LicenseRef-scancode-cc-sampling-plus-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc-sampling-plus-1.0.json", "yml": "cc-sampling-plus-1.0.yml", "html": "cc-sampling-plus-1.0.html", "text": "cc-sampling-plus-1.0.LICENSE" }, { "license_key": "cc0-1.0", "spdx_license_key": "CC0-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cc0-1.0.json", "yml": "cc0-1.0.yml", "html": "cc0-1.0.html", "text": "cc0-1.0.LICENSE" }, { "license_key": "ccrc-1.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ccrc-1.0.json", "yml": "ccrc-1.0.yml", "html": "ccrc-1.0.html", "text": "ccrc-1.0.LICENSE" }, { "license_key": "cddl-1.0", "spdx_license_key": "CDDL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cddl-1.0.json", "yml": "cddl-1.0.yml", "html": "cddl-1.0.html", "text": "cddl-1.0.LICENSE" }, { "license_key": "cddl-1.1", "spdx_license_key": "CDDL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cddl-1.1.json", "yml": "cddl-1.1.yml", "html": "cddl-1.1.html", "text": "cddl-1.1.LICENSE" }, { "license_key": "cdla-permissive-1.0", "spdx_license_key": "CDLA-Permissive-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cdla-permissive-1.0.json", "yml": "cdla-permissive-1.0.yml", "html": "cdla-permissive-1.0.html", "text": "cdla-permissive-1.0.LICENSE" }, { "license_key": "cdla-sharing-1.0", "spdx_license_key": "CDLA-Sharing-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cdla-sharing-1.0.json", "yml": "cdla-sharing-1.0.yml", "html": "cdla-sharing-1.0.html", "text": "cdla-sharing-1.0.LICENSE" }, { "license_key": "cecill-1.0", "spdx_license_key": "CECILL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-1.0.json", "yml": "cecill-1.0.yml", "html": "cecill-1.0.html", "text": "cecill-1.0.LICENSE" }, { "license_key": "cecill-1.1", "spdx_license_key": "CECILL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-1.1.json", "yml": "cecill-1.1.yml", "html": "cecill-1.1.html", "text": "cecill-1.1.LICENSE" }, { "license_key": "cecill-2.0", "spdx_license_key": "CECILL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-2.0.json", "yml": "cecill-2.0.yml", "html": "cecill-2.0.html", "text": "cecill-2.0.LICENSE" }, { "license_key": "cecill-2.1", "spdx_license_key": "CECILL-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-2.1.json", "yml": "cecill-2.1.yml", "html": "cecill-2.1.html", "text": "cecill-2.1.LICENSE" }, { "license_key": "cecill-b", "spdx_license_key": "CECILL-B", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-b.json", "yml": "cecill-b.yml", "html": "cecill-b.html", "text": "cecill-b.LICENSE" }, { "license_key": "cecill-c", "spdx_license_key": "CECILL-C", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cecill-c.json", "yml": "cecill-c.yml", "html": "cecill-c.html", "text": "cecill-c.LICENSE" }, { "license_key": "cern-ohl-1.1", "spdx_license_key": "CERN-OHL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cern-ohl-1.1.json", "yml": "cern-ohl-1.1.yml", "html": "cern-ohl-1.1.html", "text": "cern-ohl-1.1.LICENSE" }, { "license_key": "cern-ohl-1.2", "spdx_license_key": "CERN-OHL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cern-ohl-1.2.json", "yml": "cern-ohl-1.2.yml", "html": "cern-ohl-1.2.html", "text": "cern-ohl-1.2.LICENSE" }, { "license_key": "cern-ohl-p-2.0", "spdx_license_key": "CERN-OHL-P-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cern-ohl-p-2.0.json", "yml": "cern-ohl-p-2.0.yml", "html": "cern-ohl-p-2.0.html", "text": "cern-ohl-p-2.0.LICENSE" }, { "license_key": "cern-ohl-s-2.0", "spdx_license_key": "CERN-OHL-S-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cern-ohl-s-2.0.json", "yml": "cern-ohl-s-2.0.yml", "html": "cern-ohl-s-2.0.html", "text": "cern-ohl-s-2.0.LICENSE" }, { "license_key": "cern-ohl-w-2.0", "spdx_license_key": "CERN-OHL-W-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cern-ohl-w-2.0.json", "yml": "cern-ohl-w-2.0.yml", "html": "cern-ohl-w-2.0.html", "text": "cern-ohl-w-2.0.LICENSE" }, { "license_key": "cgic", "spdx_license_key": "LicenseRef-scancode-cgic", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cgic.json", "yml": "cgic.yml", "html": "cgic.html", "text": "cgic.LICENSE" }, { "license_key": "chartdirector-6.0", "spdx_license_key": "LicenseRef-scancode-chartdirector-6.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "chartdirector-6.0.json", "yml": "chartdirector-6.0.yml", "html": "chartdirector-6.0.html", "text": "chartdirector-6.0.LICENSE" }, { "license_key": "chicken-dl-0.2", "spdx_license_key": "LicenseRef-scancode-chicken-dl-0.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "chicken-dl-0.2.json", "yml": "chicken-dl-0.2.yml", "html": "chicken-dl-0.2.html", "text": "chicken-dl-0.2.LICENSE" }, { "license_key": "chris-maunder", "spdx_license_key": "LicenseRef-scancode-chris-maunder", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "chris-maunder.json", "yml": "chris-maunder.yml", "html": "chris-maunder.html", "text": "chris-maunder.LICENSE" }, { "license_key": "chris-stoy", "spdx_license_key": "LicenseRef-scancode-chris-stoy", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "chris-stoy.json", "yml": "chris-stoy.yml", "html": "chris-stoy.html", "text": "chris-stoy.LICENSE" }, { "license_key": "christopher-velazquez", "spdx_license_key": "LicenseRef-scancode-christopher-velazquez", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "christopher-velazquez.json", "yml": "christopher-velazquez.yml", "html": "christopher-velazquez.html", "text": "christopher-velazquez.LICENSE" }, { "license_key": "classic-vb", "spdx_license_key": "LicenseRef-scancode-classic-vb", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "classic-vb.json", "yml": "classic-vb.yml", "html": "classic-vb.html", "text": "classic-vb.LICENSE" }, { "license_key": "classpath-exception-2.0", "spdx_license_key": "Classpath-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "classpath-exception-2.0.json", "yml": "classpath-exception-2.0.yml", "html": "classpath-exception-2.0.html", "text": "classpath-exception-2.0.LICENSE" }, { "license_key": "classworlds", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "classworlds.json", "yml": "classworlds.yml", "html": "classworlds.html", "text": "classworlds.LICENSE" }, { "license_key": "clause-6-exception-lgpl-2.1", "spdx_license_key": "LicenseRef-scancode-clause-6-exception-lgpl-2.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "clause-6-exception-lgpl-2.1.json", "yml": "clause-6-exception-lgpl-2.1.yml", "html": "clause-6-exception-lgpl-2.1.html", "text": "clause-6-exception-lgpl-2.1.LICENSE" }, { "license_key": "clear-bsd-1-clause", "spdx_license_key": "LicenseRef-scancode-clear-bsd-1-clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "clear-bsd-1-clause.json", "yml": "clear-bsd-1-clause.yml", "html": "clear-bsd-1-clause.html", "text": "clear-bsd-1-clause.LICENSE" }, { "license_key": "clear-bsd", "spdx_license_key": "BSD-3-Clause-Clear", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "clear-bsd.json", "yml": "clear-bsd.yml", "html": "clear-bsd.html", "text": "clear-bsd.LICENSE" }, { "license_key": "click-license", "spdx_license_key": "LicenseRef-scancode-click-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "click-license.json", "yml": "click-license.yml", "html": "click-license.html", "text": "click-license.LICENSE" }, { "license_key": "clisp-exception-2.0", "spdx_license_key": "CLISP-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "clisp-exception-2.0.json", "yml": "clisp-exception-2.0.yml", "html": "clisp-exception-2.0.html", "text": "clisp-exception-2.0.LICENSE" }, { "license_key": "cloudera-express", "spdx_license_key": "LicenseRef-scancode-cloudera-express", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cloudera-express.json", "yml": "cloudera-express.yml", "html": "cloudera-express.html", "text": "cloudera-express.LICENSE" }, { "license_key": "cmigemo", "spdx_license_key": "LicenseRef-scancode-cmigemo", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmigemo.json", "yml": "cmigemo.yml", "html": "cmigemo.html", "text": "cmigemo.LICENSE" }, { "license_key": "cmr-no", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "cmr-no.json", "yml": "cmr-no.yml", "html": "cmr-no.html", "text": "cmr-no.LICENSE" }, { "license_key": "cmu-computing-services", "spdx_license_key": "LicenseRef-scancode-cmu-computing-services", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmu-computing-services.json", "yml": "cmu-computing-services.yml", "html": "cmu-computing-services.html", "text": "cmu-computing-services.LICENSE" }, { "license_key": "cmu-mit", "spdx_license_key": "LicenseRef-scancode-cmu-mit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmu-mit.json", "yml": "cmu-mit.yml", "html": "cmu-mit.html", "text": "cmu-mit.LICENSE" }, { "license_key": "cmu-simple", "spdx_license_key": "LicenseRef-scancode-cmu-simple", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmu-simple.json", "yml": "cmu-simple.yml", "html": "cmu-simple.html", "text": "cmu-simple.LICENSE" }, { "license_key": "cmu-template", "spdx_license_key": "LicenseRef-scancode-cmu-template", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmu-template.json", "yml": "cmu-template.yml", "html": "cmu-template.html", "text": "cmu-template.LICENSE" }, { "license_key": "cmu-uc", "spdx_license_key": "MIT-CMU", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cmu-uc.json", "yml": "cmu-uc.yml", "html": "cmu-uc.html", "text": "cmu-uc.LICENSE" }, { "license_key": "cnri-jython", "spdx_license_key": "CNRI-Jython", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cnri-jython.json", "yml": "cnri-jython.yml", "html": "cnri-jython.html", "text": "cnri-jython.LICENSE" }, { "license_key": "cnri-python-1.6.1", "spdx_license_key": "CNRI-Python-GPL-Compatible", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cnri-python-1.6.1.json", "yml": "cnri-python-1.6.1.yml", "html": "cnri-python-1.6.1.html", "text": "cnri-python-1.6.1.LICENSE" }, { "license_key": "cnri-python-1.6", "spdx_license_key": "CNRI-Python", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cnri-python-1.6.json", "yml": "cnri-python-1.6.yml", "html": "cnri-python-1.6.html", "text": "cnri-python-1.6.LICENSE" }, { "license_key": "cockroach", "spdx_license_key": "LicenseRef-scancode-cockroach", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cockroach.json", "yml": "cockroach.yml", "html": "cockroach.html", "text": "cockroach.LICENSE" }, { "license_key": "cockroachdb-use-grant-for-bsl-1.1", "spdx_license_key": "LicenseRef-scancode-cockroachdb-use-grant-for-bsl-1.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "cockroachdb-use-grant-for-bsl-1.1.json", "yml": "cockroachdb-use-grant-for-bsl-1.1.yml", "html": "cockroachdb-use-grant-for-bsl-1.1.html", "text": "cockroachdb-use-grant-for-bsl-1.1.LICENSE" }, { "license_key": "codeguru-permissions", "spdx_license_key": "LicenseRef-scancode-codeguru-permissions", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "codeguru-permissions.json", "yml": "codeguru-permissions.yml", "html": "codeguru-permissions.html", "text": "codeguru-permissions.LICENSE" }, { "license_key": "codexia", "spdx_license_key": "LicenseRef-scancode-codexia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "codexia.json", "yml": "codexia.yml", "html": "codexia.html", "text": "codexia.LICENSE" }, { "license_key": "cognitive-web-osl-1.1", "spdx_license_key": "LicenseRef-scancode-cognitive-web-osl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cognitive-web-osl-1.1.json", "yml": "cognitive-web-osl-1.1.yml", "html": "cognitive-web-osl-1.1.html", "text": "cognitive-web-osl-1.1.LICENSE" }, { "license_key": "colt", "spdx_license_key": "LicenseRef-scancode-colt", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "colt.json", "yml": "colt.yml", "html": "colt.html", "text": "colt.LICENSE" }, { "license_key": "com-oreilly-servlet", "spdx_license_key": "LicenseRef-scancode-com-oreilly-servlet", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "com-oreilly-servlet.json", "yml": "com-oreilly-servlet.yml", "html": "com-oreilly-servlet.html", "text": "com-oreilly-servlet.LICENSE" }, { "license_key": "commercial-license", "spdx_license_key": "LicenseRef-scancode-commercial-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "commercial-license.json", "yml": "commercial-license.yml", "html": "commercial-license.html", "text": "commercial-license.LICENSE" }, { "license_key": "commercial-option", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "commercial-option.json", "yml": "commercial-option.yml", "html": "commercial-option.html", "text": "commercial-option.LICENSE" }, { "license_key": "commonj-timer", "spdx_license_key": "LicenseRef-scancode-commonj-timer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "commonj-timer.json", "yml": "commonj-timer.yml", "html": "commonj-timer.html", "text": "commonj-timer.LICENSE" }, { "license_key": "commons-clause", "spdx_license_key": "LicenseRef-scancode-commons-clause", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "commons-clause.json", "yml": "commons-clause.yml", "html": "commons-clause.html", "text": "commons-clause.LICENSE" }, { "license_key": "compass", "spdx_license_key": "LicenseRef-scancode-compass", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "compass.json", "yml": "compass.yml", "html": "compass.html", "text": "compass.LICENSE" }, { "license_key": "componentace-jcraft", "spdx_license_key": "LicenseRef-scancode-componentace-jcraft", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "componentace-jcraft.json", "yml": "componentace-jcraft.yml", "html": "componentace-jcraft.html", "text": "componentace-jcraft.LICENSE" }, { "license_key": "compuphase-linking-exception", "spdx_license_key": "LicenseRef-scancode-compuphase-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "compuphase-linking-exception.json", "yml": "compuphase-linking-exception.yml", "html": "compuphase-linking-exception.html", "text": "compuphase-linking-exception.LICENSE" }, { "license_key": "concursive-pl-1.0", "spdx_license_key": "LicenseRef-scancode-concursive-pl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "concursive-pl-1.0.json", "yml": "concursive-pl-1.0.yml", "html": "concursive-pl-1.0.html", "text": "concursive-pl-1.0.LICENSE" }, { "license_key": "condor-1.1", "spdx_license_key": "Condor-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "condor-1.1.json", "yml": "condor-1.1.yml", "html": "condor-1.1.html", "text": "condor-1.1.LICENSE" }, { "license_key": "confluent-community-1.0", "spdx_license_key": "LicenseRef-scancode-confluent-community-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "confluent-community-1.0.json", "yml": "confluent-community-1.0.yml", "html": "confluent-community-1.0.html", "text": "confluent-community-1.0.LICENSE" }, { "license_key": "cooperative-non-violent-4.0", "spdx_license_key": "LicenseRef-scancode-cooperative-non-violent-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cooperative-non-violent-4.0.json", "yml": "cooperative-non-violent-4.0.yml", "html": "cooperative-non-violent-4.0.html", "text": "cooperative-non-violent-4.0.LICENSE" }, { "license_key": "copyheart", "spdx_license_key": "LicenseRef-scancode-copyheart", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "copyheart.json", "yml": "copyheart.yml", "html": "copyheart.html", "text": "copyheart.LICENSE" }, { "license_key": "copyleft-next-0.3.0", "spdx_license_key": "copyleft-next-0.3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "copyleft-next-0.3.0.json", "yml": "copyleft-next-0.3.0.yml", "html": "copyleft-next-0.3.0.html", "text": "copyleft-next-0.3.0.LICENSE" }, { "license_key": "copyleft-next-0.3.1", "spdx_license_key": "copyleft-next-0.3.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "copyleft-next-0.3.1.json", "yml": "copyleft-next-0.3.1.yml", "html": "copyleft-next-0.3.1.html", "text": "copyleft-next-0.3.1.LICENSE" }, { "license_key": "corporate-accountability-1.1", "spdx_license_key": "LicenseRef-scancode-corporate-accountability-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "corporate-accountability-1.1.json", "yml": "corporate-accountability-1.1.yml", "html": "corporate-accountability-1.1.html", "text": "corporate-accountability-1.1.LICENSE" }, { "license_key": "corporate-accountability-commercial-1.1", "spdx_license_key": "LicenseRef-scancode-corporate-accountability-commercial-1.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "corporate-accountability-commercial-1.1.json", "yml": "corporate-accountability-commercial-1.1.yml", "html": "corporate-accountability-commercial-1.1.html", "text": "corporate-accountability-commercial-1.1.LICENSE" }, { "license_key": "cosl", "spdx_license_key": "LicenseRef-scancode-cosl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cosl.json", "yml": "cosl.yml", "html": "cosl.html", "text": "cosl.LICENSE" }, { "license_key": "cosli", "spdx_license_key": "LicenseRef-scancode-cosli", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cosli.json", "yml": "cosli.yml", "html": "cosli.html", "text": "cosli.LICENSE" }, { "license_key": "couchbase-community", "spdx_license_key": "LicenseRef-scancode-couchbase-community", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "couchbase-community.json", "yml": "couchbase-community.yml", "html": "couchbase-community.html", "text": "couchbase-community.LICENSE" }, { "license_key": "couchbase-enterprise", "spdx_license_key": "LicenseRef-scancode-couchbase-enterprise", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "couchbase-enterprise.json", "yml": "couchbase-enterprise.yml", "html": "couchbase-enterprise.html", "text": "couchbase-enterprise.LICENSE" }, { "license_key": "cpal-1.0", "spdx_license_key": "CPAL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cpal-1.0.json", "yml": "cpal-1.0.yml", "html": "cpal-1.0.html", "text": "cpal-1.0.LICENSE" }, { "license_key": "cpl-0.5", "spdx_license_key": "LicenseRef-scancode-cpl-0.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cpl-0.5.json", "yml": "cpl-0.5.yml", "html": "cpl-0.5.html", "text": "cpl-0.5.LICENSE" }, { "license_key": "cpl-1.0", "spdx_license_key": "CPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cpl-1.0.json", "yml": "cpl-1.0.yml", "html": "cpl-1.0.html", "text": "cpl-1.0.LICENSE" }, { "license_key": "cpol-1.02", "spdx_license_key": "CPOL-1.02", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cpol-1.02.json", "yml": "cpol-1.02.yml", "html": "cpol-1.02.html", "text": "cpol-1.02.LICENSE" }, { "license_key": "cpp-core-guidelines", "spdx_license_key": "LicenseRef-scancode-cpp-core-guidelines", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cpp-core-guidelines.json", "yml": "cpp-core-guidelines.yml", "html": "cpp-core-guidelines.html", "text": "cpp-core-guidelines.LICENSE" }, { "license_key": "crapl-0.1", "spdx_license_key": "LicenseRef-scancode-crapl-0.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crapl-0.1.json", "yml": "crapl-0.1.yml", "html": "crapl-0.1.html", "text": "crapl-0.1.LICENSE" }, { "license_key": "crashlytics-agreement-2018", "spdx_license_key": "LicenseRef-scancode-crashlytics-agreement-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crashlytics-agreement-2018.json", "yml": "crashlytics-agreement-2018.yml", "html": "crashlytics-agreement-2018.html", "text": "crashlytics-agreement-2018.LICENSE" }, { "license_key": "crcalc", "spdx_license_key": "LicenseRef-scancode-crcalc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crcalc.json", "yml": "crcalc.yml", "html": "crcalc.html", "text": "crcalc.LICENSE" }, { "license_key": "crossword", "spdx_license_key": "Crossword", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crossword.json", "yml": "crossword.yml", "html": "crossword.html", "text": "crossword.LICENSE" }, { "license_key": "crypto-keys-redistribution", "spdx_license_key": "LicenseRef-scancode-crypto-keys-redistribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crypto-keys-redistribution.json", "yml": "crypto-keys-redistribution.yml", "html": "crypto-keys-redistribution.html", "text": "crypto-keys-redistribution.LICENSE" }, { "license_key": "cryptopp", "spdx_license_key": "LicenseRef-scancode-cryptopp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cryptopp.json", "yml": "cryptopp.yml", "html": "cryptopp.html", "text": "cryptopp.LICENSE" }, { "license_key": "crystal-stacker", "spdx_license_key": "CrystalStacker", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "crystal-stacker.json", "yml": "crystal-stacker.yml", "html": "crystal-stacker.html", "text": "crystal-stacker.LICENSE" }, { "license_key": "csla", "spdx_license_key": "LicenseRef-scancode-csla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "csla.json", "yml": "csla.yml", "html": "csla.html", "text": "csla.LICENSE" }, { "license_key": "csprng", "spdx_license_key": "LicenseRef-scancode-csprng", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "csprng.json", "yml": "csprng.yml", "html": "csprng.html", "text": "csprng.LICENSE" }, { "license_key": "cua-opl-1.0", "spdx_license_key": "CUA-OPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cua-opl-1.0.json", "yml": "cua-opl-1.0.yml", "html": "cua-opl-1.0.html", "text": "cua-opl-1.0.LICENSE" }, { "license_key": "cube", "spdx_license_key": "Cube", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cube.json", "yml": "cube.yml", "html": "cube.html", "text": "cube.LICENSE" }, { "license_key": "cubiware-software-1.0", "spdx_license_key": "LicenseRef-scancode-cubiware-software-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cubiware-software-1.0.json", "yml": "cubiware-software-1.0.yml", "html": "cubiware-software-1.0.html", "text": "cubiware-software-1.0.LICENSE" }, { "license_key": "cups", "spdx_license_key": "LicenseRef-scancode-cups", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cups.json", "yml": "cups.yml", "html": "cups.html", "text": "cups.LICENSE" }, { "license_key": "curl", "spdx_license_key": "curl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "curl.json", "yml": "curl.yml", "html": "curl.html", "text": "curl.LICENSE" }, { "license_key": "cve-tou", "spdx_license_key": "LicenseRef-scancode-cve-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cve-tou.json", "yml": "cve-tou.yml", "html": "cve-tou.html", "text": "cve-tou.LICENSE" }, { "license_key": "cvwl", "spdx_license_key": "LicenseRef-scancode-cvwl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cvwl.json", "yml": "cvwl.yml", "html": "cvwl.html", "text": "cvwl.LICENSE" }, { "license_key": "cwe-tou", "spdx_license_key": "LicenseRef-scancode-cwe-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cwe-tou.json", "yml": "cwe-tou.yml", "html": "cwe-tou.html", "text": "cwe-tou.LICENSE" }, { "license_key": "cximage", "spdx_license_key": "LicenseRef-scancode-cximage", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "cximage.json", "yml": "cximage.yml", "html": "cximage.html", "text": "cximage.LICENSE" }, { "license_key": "cygwin-exception-2.0", "spdx_license_key": "LicenseRef-scancode-cygwin-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "cygwin-exception-2.0.json", "yml": "cygwin-exception-2.0.yml", "html": "cygwin-exception-2.0.html", "text": "cygwin-exception-2.0.LICENSE" }, { "license_key": "cygwin-exception-3.0", "spdx_license_key": "LicenseRef-scancode-cygwin-exception-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "cygwin-exception-3.0.json", "yml": "cygwin-exception-3.0.yml", "html": "cygwin-exception-3.0.html", "text": "cygwin-exception-3.0.LICENSE" }, { "license_key": "cygwin-exception-lgpl-3.0-plus", "spdx_license_key": "LicenseRef-scancode-cygwin-exception-lgpl-3.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "cygwin-exception-lgpl-3.0-plus.json", "yml": "cygwin-exception-lgpl-3.0-plus.yml", "html": "cygwin-exception-lgpl-3.0-plus.html", "text": "cygwin-exception-lgpl-3.0-plus.LICENSE" }, { "license_key": "d-fsl-1.0-en", "spdx_license_key": "LicenseRef-scancode-d-fsl-1.0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "d-fsl-1.0-en.json", "yml": "d-fsl-1.0-en.yml", "html": "d-fsl-1.0-en.html", "text": "d-fsl-1.0-en.LICENSE" }, { "license_key": "d-zlib", "spdx_license_key": "LicenseRef-scancode-d-zlib", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "d-zlib.json", "yml": "d-zlib.yml", "html": "d-zlib.html", "text": "d-zlib.LICENSE" }, { "license_key": "damail", "spdx_license_key": "LicenseRef-scancode-damail", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "damail.json", "yml": "damail.yml", "html": "damail.html", "text": "damail.LICENSE" }, { "license_key": "dante-treglia", "spdx_license_key": "LicenseRef-scancode-dante-treglia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dante-treglia.json", "yml": "dante-treglia.yml", "html": "dante-treglia.html", "text": "dante-treglia.LICENSE" }, { "license_key": "day-spec", "spdx_license_key": "LicenseRef-scancode-day-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "day-spec.json", "yml": "day-spec.yml", "html": "day-spec.html", "text": "day-spec.LICENSE" }, { "license_key": "dbad-1.1", "spdx_license_key": "LicenseRef-scancode-dbad-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dbad-1.1.json", "yml": "dbad-1.1.yml", "html": "dbad-1.1.html", "text": "dbad-1.1.LICENSE" }, { "license_key": "dbad", "spdx_license_key": "LicenseRef-scancode-dbad", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dbad.json", "yml": "dbad.yml", "html": "dbad.html", "text": "dbad.LICENSE" }, { "license_key": "dbcl-1.0", "spdx_license_key": "LicenseRef-scancode-dbcl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dbcl-1.0.json", "yml": "dbcl-1.0.yml", "html": "dbcl-1.0.html", "text": "dbcl-1.0.LICENSE" }, { "license_key": "dco-1.1", "spdx_license_key": "LicenseRef-scancode-dco-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dco-1.1.json", "yml": "dco-1.1.yml", "html": "dco-1.1.html", "text": "dco-1.1.LICENSE" }, { "license_key": "dejavu-font", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "dejavu-font.json", "yml": "dejavu-font.yml", "html": "dejavu-font.html", "text": "dejavu-font.LICENSE" }, { "license_key": "delorie-historical", "spdx_license_key": "LicenseRef-scancode-delorie-historical", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "delorie-historical.json", "yml": "delorie-historical.yml", "html": "delorie-historical.html", "text": "delorie-historical.LICENSE" }, { "license_key": "dennis-ferguson", "spdx_license_key": "LicenseRef-scancode-dennis-ferguson", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dennis-ferguson.json", "yml": "dennis-ferguson.yml", "html": "dennis-ferguson.html", "text": "dennis-ferguson.LICENSE" }, { "license_key": "devblocks-1.0", "spdx_license_key": "LicenseRef-scancode-devblocks-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "devblocks-1.0.json", "yml": "devblocks-1.0.yml", "html": "devblocks-1.0.html", "text": "devblocks-1.0.LICENSE" }, { "license_key": "dgraph-cla", "spdx_license_key": "LicenseRef-scancode-dgraph-cla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dgraph-cla.json", "yml": "dgraph-cla.yml", "html": "dgraph-cla.html", "text": "dgraph-cla.LICENSE" }, { "license_key": "dhtmlab-public", "spdx_license_key": "LicenseRef-scancode-dhtmlab-public", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dhtmlab-public.json", "yml": "dhtmlab-public.yml", "html": "dhtmlab-public.html", "text": "dhtmlab-public.LICENSE" }, { "license_key": "diffmark", "spdx_license_key": "diffmark", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "diffmark.json", "yml": "diffmark.yml", "html": "diffmark.html", "text": "diffmark.LICENSE" }, { "license_key": "digia-qt-commercial", "spdx_license_key": "LicenseRef-scancode-digia-qt-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "digia-qt-commercial.json", "yml": "digia-qt-commercial.yml", "html": "digia-qt-commercial.html", "text": "digia-qt-commercial.LICENSE" }, { "license_key": "digia-qt-exception-lgpl-2.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "digia-qt-exception-lgpl-2.1.json", "yml": "digia-qt-exception-lgpl-2.1.yml", "html": "digia-qt-exception-lgpl-2.1.html", "text": "digia-qt-exception-lgpl-2.1.LICENSE" }, { "license_key": "digia-qt-preview", "spdx_license_key": "LicenseRef-scancode-digia-qt-preview", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "digia-qt-preview.json", "yml": "digia-qt-preview.yml", "html": "digia-qt-preview.html", "text": "digia-qt-preview.LICENSE" }, { "license_key": "digirule-foss-exception", "spdx_license_key": "DigiRule-FOSS-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "digirule-foss-exception.json", "yml": "digirule-foss-exception.yml", "html": "digirule-foss-exception.html", "text": "digirule-foss-exception.LICENSE" }, { "license_key": "divx-open-1.0", "spdx_license_key": "LicenseRef-scancode-divx-open-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "divx-open-1.0.json", "yml": "divx-open-1.0.yml", "html": "divx-open-1.0.html", "text": "divx-open-1.0.LICENSE" }, { "license_key": "divx-open-2.1", "spdx_license_key": "LicenseRef-scancode-divx-open-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "divx-open-2.1.json", "yml": "divx-open-2.1.yml", "html": "divx-open-2.1.html", "text": "divx-open-2.1.LICENSE" }, { "license_key": "dl-de-by-1-0-en", "spdx_license_key": "LicenseRef-scancode-dl-de-by-1-0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dl-de-by-1-0-en.json", "yml": "dl-de-by-1-0-en.yml", "html": "dl-de-by-1-0-en.html", "text": "dl-de-by-1-0-en.LICENSE" }, { "license_key": "dl-de-by-2-0-en", "spdx_license_key": "LicenseRef-scancode-dl-de-by-2-0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dl-de-by-2-0-en.json", "yml": "dl-de-by-2-0-en.yml", "html": "dl-de-by-2-0-en.html", "text": "dl-de-by-2-0-en.LICENSE" }, { "license_key": "dl-de-by-nc-1-0-en", "spdx_license_key": "LicenseRef-scancode-dl-de-by-nc-1-0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dl-de-by-nc-1-0-en.json", "yml": "dl-de-by-nc-1-0-en.yml", "html": "dl-de-by-nc-1-0-en.html", "text": "dl-de-by-nc-1-0-en.LICENSE" }, { "license_key": "dmalloc", "spdx_license_key": "LicenseRef-scancode-dmalloc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dmalloc.json", "yml": "dmalloc.yml", "html": "dmalloc.html", "text": "dmalloc.LICENSE" }, { "license_key": "do-no-harm-0.1", "spdx_license_key": "LicenseRef-scancode-do-no-harm-0.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "do-no-harm-0.1.json", "yml": "do-no-harm-0.1.yml", "html": "do-no-harm-0.1.html", "text": "do-no-harm-0.1.LICENSE" }, { "license_key": "docbook", "spdx_license_key": "LicenseRef-scancode-docbook", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "docbook.json", "yml": "docbook.yml", "html": "docbook.html", "text": "docbook.LICENSE" }, { "license_key": "dom4j", "spdx_license_key": "Plexus", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dom4j.json", "yml": "dom4j.yml", "html": "dom4j.html", "text": "dom4j.LICENSE" }, { "license_key": "dotseqn", "spdx_license_key": "Dotseqn", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dotseqn.json", "yml": "dotseqn.yml", "html": "dotseqn.html", "text": "dotseqn.LICENSE" }, { "license_key": "doug-lea", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "doug-lea.json", "yml": "doug-lea.yml", "html": "doug-lea.html", "text": "doug-lea.LICENSE" }, { "license_key": "douglas-young", "spdx_license_key": "LicenseRef-scancode-douglas-young", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "douglas-young.json", "yml": "douglas-young.yml", "html": "douglas-young.html", "text": "douglas-young.LICENSE" }, { "license_key": "dpl-1.1", "spdx_license_key": "LicenseRef-scancode-dpl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dpl-1.1.json", "yml": "dpl-1.1.yml", "html": "dpl-1.1.html", "text": "dpl-1.1.LICENSE" }, { "license_key": "dr-john-maddock", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "dr-john-maddock.json", "yml": "dr-john-maddock.yml", "html": "dr-john-maddock.html", "text": "dr-john-maddock.LICENSE" }, { "license_key": "drl-1.0", "spdx_license_key": "DRL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "drl-1.0.json", "yml": "drl-1.0.yml", "html": "drl-1.0.html", "text": "drl-1.0.LICENSE" }, { "license_key": "dropbear-2016", "spdx_license_key": "LicenseRef-scancode-dropbear-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dropbear-2016.json", "yml": "dropbear-2016.yml", "html": "dropbear-2016.html", "text": "dropbear-2016.LICENSE" }, { "license_key": "dropbear", "spdx_license_key": "LicenseRef-scancode-dropbear", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dropbear.json", "yml": "dropbear.yml", "html": "dropbear.html", "text": "dropbear.LICENSE" }, { "license_key": "dsdp", "spdx_license_key": "DSDP", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dsdp.json", "yml": "dsdp.yml", "html": "dsdp.html", "text": "dsdp.LICENSE" }, { "license_key": "dtree", "spdx_license_key": "LicenseRef-scancode-dtree", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dtree.json", "yml": "dtree.yml", "html": "dtree.html", "text": "dtree.LICENSE" }, { "license_key": "dual-bsd-gpl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "dual-bsd-gpl.json", "yml": "dual-bsd-gpl.yml", "html": "dual-bsd-gpl.html", "text": "dual-bsd-gpl.LICENSE" }, { "license_key": "dune-exception", "spdx_license_key": "LicenseRef-scancode-dune-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "dune-exception.json", "yml": "dune-exception.yml", "html": "dune-exception.html", "text": "dune-exception.LICENSE" }, { "license_key": "dvipdfm", "spdx_license_key": "dvipdfm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dvipdfm.json", "yml": "dvipdfm.yml", "html": "dvipdfm.html", "text": "dvipdfm.LICENSE" }, { "license_key": "dwtfnmfpl-3.0", "spdx_license_key": "LicenseRef-scancode-dwtfnmfpl-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dwtfnmfpl-3.0.json", "yml": "dwtfnmfpl-3.0.yml", "html": "dwtfnmfpl-3.0.html", "text": "dwtfnmfpl-3.0.LICENSE" }, { "license_key": "dynamic-drive-tou", "spdx_license_key": "LicenseRef-scancode-dynamic-drive-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dynamic-drive-tou.json", "yml": "dynamic-drive-tou.yml", "html": "dynamic-drive-tou.html", "text": "dynamic-drive-tou.LICENSE" }, { "license_key": "dynarch-developer", "spdx_license_key": "LicenseRef-scancode-dynarch-developer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dynarch-developer.json", "yml": "dynarch-developer.yml", "html": "dynarch-developer.html", "text": "dynarch-developer.LICENSE" }, { "license_key": "dynarch-linkware", "spdx_license_key": "LicenseRef-scancode-dynarch-linkware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "dynarch-linkware.json", "yml": "dynarch-linkware.yml", "html": "dynarch-linkware.html", "text": "dynarch-linkware.LICENSE" }, { "license_key": "ecfonts-1.0", "spdx_license_key": "LicenseRef-scancode-ecfonts-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecfonts-1.0.json", "yml": "ecfonts-1.0.yml", "html": "ecfonts-1.0.html", "text": "ecfonts-1.0.LICENSE" }, { "license_key": "ecl-1.0", "spdx_license_key": "ECL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecl-1.0.json", "yml": "ecl-1.0.yml", "html": "ecl-1.0.html", "text": "ecl-1.0.LICENSE" }, { "license_key": "ecl-2.0", "spdx_license_key": "ECL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecl-2.0.json", "yml": "ecl-2.0.yml", "html": "ecl-2.0.html", "text": "ecl-2.0.LICENSE" }, { "license_key": "eclipse-sua-2001", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2001", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2001.json", "yml": "eclipse-sua-2001.yml", "html": "eclipse-sua-2001.html", "text": "eclipse-sua-2001.LICENSE" }, { "license_key": "eclipse-sua-2002", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2002", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2002.json", "yml": "eclipse-sua-2002.yml", "html": "eclipse-sua-2002.html", "text": "eclipse-sua-2002.LICENSE" }, { "license_key": "eclipse-sua-2003", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2003", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2003.json", "yml": "eclipse-sua-2003.yml", "html": "eclipse-sua-2003.html", "text": "eclipse-sua-2003.LICENSE" }, { "license_key": "eclipse-sua-2004", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2004", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2004.json", "yml": "eclipse-sua-2004.yml", "html": "eclipse-sua-2004.html", "text": "eclipse-sua-2004.LICENSE" }, { "license_key": "eclipse-sua-2005", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2005", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2005.json", "yml": "eclipse-sua-2005.yml", "html": "eclipse-sua-2005.html", "text": "eclipse-sua-2005.LICENSE" }, { "license_key": "eclipse-sua-2010", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2010", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2010.json", "yml": "eclipse-sua-2010.yml", "html": "eclipse-sua-2010.html", "text": "eclipse-sua-2010.LICENSE" }, { "license_key": "eclipse-sua-2011", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2011", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2011.json", "yml": "eclipse-sua-2011.yml", "html": "eclipse-sua-2011.html", "text": "eclipse-sua-2011.LICENSE" }, { "license_key": "eclipse-sua-2014-11", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2014-11", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2014-11.json", "yml": "eclipse-sua-2014-11.yml", "html": "eclipse-sua-2014-11.html", "text": "eclipse-sua-2014-11.LICENSE" }, { "license_key": "eclipse-sua-2014", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2014", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2014.json", "yml": "eclipse-sua-2014.yml", "html": "eclipse-sua-2014.html", "text": "eclipse-sua-2014.LICENSE" }, { "license_key": "eclipse-sua-2017", "spdx_license_key": "LicenseRef-scancode-eclipse-sua-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eclipse-sua-2017.json", "yml": "eclipse-sua-2017.yml", "html": "eclipse-sua-2017.html", "text": "eclipse-sua-2017.LICENSE" }, { "license_key": "ecma-documentation", "spdx_license_key": "LicenseRef-scancode-ecma-documentation", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecma-documentation.json", "yml": "ecma-documentation.yml", "html": "ecma-documentation.html", "text": "ecma-documentation.LICENSE" }, { "license_key": "ecma-no-patent", "spdx_license_key": "LicenseRef-scancode-ecma-no-patent", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ecma-no-patent.json", "yml": "ecma-no-patent.yml", "html": "ecma-no-patent.html", "text": "ecma-no-patent.LICENSE" }, { "license_key": "ecma-patent-coc-0", "spdx_license_key": "LicenseRef-scancode-ecma-patent-coc-0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecma-patent-coc-0.json", "yml": "ecma-patent-coc-0.yml", "html": "ecma-patent-coc-0.html", "text": "ecma-patent-coc-0.LICENSE" }, { "license_key": "ecma-patent-coc-1", "spdx_license_key": "LicenseRef-scancode-ecma-patent-coc-1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecma-patent-coc-1.json", "yml": "ecma-patent-coc-1.yml", "html": "ecma-patent-coc-1.html", "text": "ecma-patent-coc-1.LICENSE" }, { "license_key": "ecma-patent-coc-2", "spdx_license_key": "LicenseRef-scancode-ecma-patent-coc-2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecma-patent-coc-2.json", "yml": "ecma-patent-coc-2.yml", "html": "ecma-patent-coc-2.html", "text": "ecma-patent-coc-2.LICENSE" }, { "license_key": "ecos-exception-2.0", "spdx_license_key": "eCos-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ecos-exception-2.0.json", "yml": "ecos-exception-2.0.yml", "html": "ecos-exception-2.0.html", "text": "ecos-exception-2.0.LICENSE" }, { "license_key": "ecos", "spdx_license_key": "eCos-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "ecos.json", "yml": "ecos.yml", "html": "ecos.html", "text": "ecos.LICENSE" }, { "license_key": "ecosrh-1.0", "spdx_license_key": "LicenseRef-scancode-ecosrh-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecosrh-1.0.json", "yml": "ecosrh-1.0.yml", "html": "ecosrh-1.0.html", "text": "ecosrh-1.0.LICENSE" }, { "license_key": "ecosrh-1.1", "spdx_license_key": "RHeCos-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ecosrh-1.1.json", "yml": "ecosrh-1.1.yml", "html": "ecosrh-1.1.html", "text": "ecosrh-1.1.LICENSE" }, { "license_key": "efl-1.0", "spdx_license_key": "EFL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "efl-1.0.json", "yml": "efl-1.0.yml", "html": "efl-1.0.html", "text": "efl-1.0.LICENSE" }, { "license_key": "efl-2.0", "spdx_license_key": "EFL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "efl-2.0.json", "yml": "efl-2.0.yml", "html": "efl-2.0.html", "text": "efl-2.0.LICENSE" }, { "license_key": "efsl-1.0", "spdx_license_key": "LicenseRef-scancode-efsl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "efsl-1.0.json", "yml": "efsl-1.0.yml", "html": "efsl-1.0.html", "text": "efsl-1.0.LICENSE" }, { "license_key": "egenix-1.0.0", "spdx_license_key": "LicenseRef-scancode-egenix-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "egenix-1.0.0.json", "yml": "egenix-1.0.0.yml", "html": "egenix-1.0.0.html", "text": "egenix-1.0.0.LICENSE" }, { "license_key": "egenix-1.1.0", "spdx_license_key": "eGenix", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "egenix-1.1.0.json", "yml": "egenix-1.1.0.yml", "html": "egenix-1.1.0.html", "text": "egenix-1.1.0.LICENSE" }, { "license_key": "egrappler", "spdx_license_key": "LicenseRef-scancode-egrappler", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "egrappler.json", "yml": "egrappler.yml", "html": "egrappler.html", "text": "egrappler.LICENSE" }, { "license_key": "ej-technologies-eula", "spdx_license_key": "LicenseRef-scancode-ej-technologies-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ej-technologies-eula.json", "yml": "ej-technologies-eula.yml", "html": "ej-technologies-eula.html", "text": "ej-technologies-eula.LICENSE" }, { "license_key": "ekiga-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-ekiga-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ekiga-exception-2.0-plus.json", "yml": "ekiga-exception-2.0-plus.yml", "html": "ekiga-exception-2.0-plus.html", "text": "ekiga-exception-2.0-plus.LICENSE" }, { "license_key": "ekioh", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ekioh.json", "yml": "ekioh.yml", "html": "ekioh.html", "text": "ekioh.LICENSE" }, { "license_key": "elastic-license-2018", "spdx_license_key": "LicenseRef-scancode-elastic-license-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "elastic-license-2018.json", "yml": "elastic-license-2018.yml", "html": "elastic-license-2018.html", "text": "elastic-license-2018.LICENSE" }, { "license_key": "elastic-license-v2", "spdx_license_key": "LicenseRef-scancode-elastic-license-v2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "elastic-license-v2.json", "yml": "elastic-license-v2.yml", "html": "elastic-license-v2.html", "text": "elastic-license-v2.LICENSE" }, { "license_key": "elib-gpl", "spdx_license_key": "LicenseRef-scancode-elib-gpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "elib-gpl.json", "yml": "elib-gpl.yml", "html": "elib-gpl.html", "text": "elib-gpl.LICENSE" }, { "license_key": "ellis-lab", "spdx_license_key": "LicenseRef-scancode-ellis-lab", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ellis-lab.json", "yml": "ellis-lab.yml", "html": "ellis-lab.html", "text": "ellis-lab.LICENSE" }, { "license_key": "emit", "spdx_license_key": "LicenseRef-scancode-emit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "emit.json", "yml": "emit.yml", "html": "emit.html", "text": "emit.LICENSE" }, { "license_key": "emx-library", "spdx_license_key": "LicenseRef-scancode-emx-library", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "emx-library.json", "yml": "emx-library.yml", "html": "emx-library.html", "text": "emx-library.LICENSE" }, { "license_key": "energyplus-bsd", "spdx_license_key": "LicenseRef-scancode-energyplus-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "energyplus-bsd.json", "yml": "energyplus-bsd.yml", "html": "energyplus-bsd.html", "text": "energyplus-bsd.LICENSE" }, { "license_key": "enhydra-1.1", "spdx_license_key": "LicenseRef-scancode-enhydra-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "enhydra-1.1.json", "yml": "enhydra-1.1.yml", "html": "enhydra-1.1.html", "text": "enhydra-1.1.LICENSE" }, { "license_key": "enlightenment", "spdx_license_key": "MIT-advertising", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "enlightenment.json", "yml": "enlightenment.yml", "html": "enlightenment.html", "text": "enlightenment.LICENSE" }, { "license_key": "enna", "spdx_license_key": "MIT-enna", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "enna.json", "yml": "enna.yml", "html": "enna.html", "text": "enna.LICENSE" }, { "license_key": "entessa-1.0", "spdx_license_key": "Entessa", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "entessa-1.0.json", "yml": "entessa-1.0.yml", "html": "entessa-1.0.html", "text": "entessa-1.0.LICENSE" }, { "license_key": "epaperpress", "spdx_license_key": "LicenseRef-scancode-epaperpress", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "epaperpress.json", "yml": "epaperpress.yml", "html": "epaperpress.html", "text": "epaperpress.LICENSE" }, { "license_key": "epics", "spdx_license_key": "EPICS", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "epics.json", "yml": "epics.yml", "html": "epics.html", "text": "epics.LICENSE" }, { "license_key": "epl-1.0", "spdx_license_key": "EPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "epl-1.0.json", "yml": "epl-1.0.yml", "html": "epl-1.0.html", "text": "epl-1.0.LICENSE" }, { "license_key": "epl-2.0", "spdx_license_key": "EPL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "epl-2.0.json", "yml": "epl-2.0.yml", "html": "epl-2.0.html", "text": "epl-2.0.LICENSE" }, { "license_key": "epo-osl-2005.1", "spdx_license_key": "LicenseRef-scancode-epo-osl-2005.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "epo-osl-2005.1.json", "yml": "epo-osl-2005.1.yml", "html": "epo-osl-2005.1.html", "text": "epo-osl-2005.1.LICENSE" }, { "license_key": "erlangpl-1.1", "spdx_license_key": "ErlPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "erlangpl-1.1.json", "yml": "erlangpl-1.1.yml", "html": "erlangpl-1.1.html", "text": "erlangpl-1.1.LICENSE" }, { "license_key": "errbot-exception", "spdx_license_key": "LicenseRef-scancode-errbot-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "errbot-exception.json", "yml": "errbot-exception.yml", "html": "errbot-exception.html", "text": "errbot-exception.LICENSE" }, { "license_key": "esri-devkit", "spdx_license_key": "LicenseRef-scancode-esri-devkit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "esri-devkit.json", "yml": "esri-devkit.yml", "html": "esri-devkit.html", "text": "esri-devkit.LICENSE" }, { "license_key": "esri", "spdx_license_key": "LicenseRef-scancode-esri", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "esri.json", "yml": "esri.yml", "html": "esri.html", "text": "esri.LICENSE" }, { "license_key": "etalab-2.0", "spdx_license_key": "etalab-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "etalab-2.0.json", "yml": "etalab-2.0.yml", "html": "etalab-2.0.html", "text": "etalab-2.0.LICENSE" }, { "license_key": "eu-datagrid", "spdx_license_key": "EUDatagrid", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eu-datagrid.json", "yml": "eu-datagrid.yml", "html": "eu-datagrid.html", "text": "eu-datagrid.LICENSE" }, { "license_key": "eupl-1.0", "spdx_license_key": "EUPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eupl-1.0.json", "yml": "eupl-1.0.yml", "html": "eupl-1.0.html", "text": "eupl-1.0.LICENSE" }, { "license_key": "eupl-1.1", "spdx_license_key": "EUPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eupl-1.1.json", "yml": "eupl-1.1.yml", "html": "eupl-1.1.html", "text": "eupl-1.1.LICENSE" }, { "license_key": "eupl-1.2", "spdx_license_key": "EUPL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eupl-1.2.json", "yml": "eupl-1.2.yml", "html": "eupl-1.2.html", "text": "eupl-1.2.LICENSE" }, { "license_key": "eurosym", "spdx_license_key": "Eurosym", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "eurosym.json", "yml": "eurosym.yml", "html": "eurosym.html", "text": "eurosym.LICENSE" }, { "license_key": "examdiff", "spdx_license_key": "LicenseRef-scancode-examdiff", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "examdiff.json", "yml": "examdiff.yml", "html": "examdiff.html", "text": "examdiff.LICENSE" }, { "license_key": "excelsior-jet-runtime", "spdx_license_key": "LicenseRef-scancode-excelsior-jet-runtime", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "excelsior-jet-runtime.json", "yml": "excelsior-jet-runtime.yml", "html": "excelsior-jet-runtime.html", "text": "excelsior-jet-runtime.LICENSE" }, { "license_key": "fabien-tassin", "spdx_license_key": "LicenseRef-scancode-fabien-tassin", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fabien-tassin.json", "yml": "fabien-tassin.yml", "html": "fabien-tassin.html", "text": "fabien-tassin.LICENSE" }, { "license_key": "fabric-agreement-2017", "spdx_license_key": "LicenseRef-scancode-fabric-agreement-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fabric-agreement-2017.json", "yml": "fabric-agreement-2017.yml", "html": "fabric-agreement-2017.html", "text": "fabric-agreement-2017.LICENSE" }, { "license_key": "facebook-nuclide", "spdx_license_key": "LicenseRef-scancode-facebook-nuclide", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "facebook-nuclide.json", "yml": "facebook-nuclide.yml", "html": "facebook-nuclide.html", "text": "facebook-nuclide.LICENSE" }, { "license_key": "facebook-patent-rights-2", "spdx_license_key": "LicenseRef-scancode-facebook-patent-rights-2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "facebook-patent-rights-2.json", "yml": "facebook-patent-rights-2.yml", "html": "facebook-patent-rights-2.html", "text": "facebook-patent-rights-2.LICENSE" }, { "license_key": "facebook-software-license", "spdx_license_key": "LicenseRef-scancode-facebook-software-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "facebook-software-license.json", "yml": "facebook-software-license.yml", "html": "facebook-software-license.html", "text": "facebook-software-license.LICENSE" }, { "license_key": "fair-source-0.9", "spdx_license_key": "LicenseRef-scancode-fair-source-0.9", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fair-source-0.9.json", "yml": "fair-source-0.9.yml", "html": "fair-source-0.9.html", "text": "fair-source-0.9.LICENSE" }, { "license_key": "fair", "spdx_license_key": "Fair", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fair.json", "yml": "fair.yml", "html": "fair.html", "text": "fair.LICENSE" }, { "license_key": "fancyzoom", "spdx_license_key": "LicenseRef-scancode-fancyzoom", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fancyzoom.json", "yml": "fancyzoom.yml", "html": "fancyzoom.html", "text": "fancyzoom.LICENSE" }, { "license_key": "far-manager-exception", "spdx_license_key": "LicenseRef-scancode-far-manager-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "far-manager-exception.json", "yml": "far-manager-exception.yml", "html": "far-manager-exception.html", "text": "far-manager-exception.LICENSE" }, { "license_key": "fastbuild-2012-2020", "spdx_license_key": "LicenseRef-scancode-fastbuild-2012-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fastbuild-2012-2020.json", "yml": "fastbuild-2012-2020.yml", "html": "fastbuild-2012-2020.html", "text": "fastbuild-2012-2020.LICENSE" }, { "license_key": "fastcgi-devkit", "spdx_license_key": "OML", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fastcgi-devkit.json", "yml": "fastcgi-devkit.yml", "html": "fastcgi-devkit.html", "text": "fastcgi-devkit.LICENSE" }, { "license_key": "fawkes-runtime-exception", "spdx_license_key": "Fawkes-Runtime-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "fawkes-runtime-exception.json", "yml": "fawkes-runtime-exception.yml", "html": "fawkes-runtime-exception.html", "text": "fawkes-runtime-exception.LICENSE" }, { "license_key": "fftpack-2004", "spdx_license_key": "LicenseRef-scancode-fftpack-2004", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fftpack-2004.json", "yml": "fftpack-2004.yml", "html": "fftpack-2004.html", "text": "fftpack-2004.LICENSE" }, { "license_key": "filament-group-mit", "spdx_license_key": "LicenseRef-scancode-filament-group-mit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "filament-group-mit.json", "yml": "filament-group-mit.yml", "html": "filament-group-mit.html", "text": "filament-group-mit.LICENSE" }, { "license_key": "first-works-appreciative-1.2", "spdx_license_key": "LicenseRef-scancode-first-works-appreciative-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "first-works-appreciative-1.2.json", "yml": "first-works-appreciative-1.2.yml", "html": "first-works-appreciative-1.2.html", "text": "first-works-appreciative-1.2.LICENSE" }, { "license_key": "flex-2.5", "spdx_license_key": "LicenseRef-scancode-flex-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "flex-2.5.json", "yml": "flex-2.5.yml", "html": "flex-2.5.html", "text": "flex-2.5.LICENSE" }, { "license_key": "flex2sdk", "spdx_license_key": "LicenseRef-scancode-flex2sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "flex2sdk.json", "yml": "flex2sdk.yml", "html": "flex2sdk.html", "text": "flex2sdk.LICENSE" }, { "license_key": "flora-1.1", "spdx_license_key": "LicenseRef-scancode-flora-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "flora-1.1.json", "yml": "flora-1.1.yml", "html": "flora-1.1.html", "text": "flora-1.1.LICENSE" }, { "license_key": "flowplayer-gpl-3.0", "spdx_license_key": "LicenseRef-scancode-flowplayer-gpl-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "flowplayer-gpl-3.0.json", "yml": "flowplayer-gpl-3.0.yml", "html": "flowplayer-gpl-3.0.html", "text": "flowplayer-gpl-3.0.LICENSE" }, { "license_key": "fltk-exception-lgpl-2.0", "spdx_license_key": "FLTK-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "fltk-exception-lgpl-2.0.json", "yml": "fltk-exception-lgpl-2.0.yml", "html": "fltk-exception-lgpl-2.0.html", "text": "fltk-exception-lgpl-2.0.LICENSE" }, { "license_key": "font-alias", "spdx_license_key": "LicenseRef-scancode-font-alias", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "font-alias.json", "yml": "font-alias.yml", "html": "font-alias.html", "text": "font-alias.LICENSE" }, { "license_key": "font-exception-gpl", "spdx_license_key": "Font-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "font-exception-gpl.json", "yml": "font-exception-gpl.yml", "html": "font-exception-gpl.html", "text": "font-exception-gpl.LICENSE" }, { "license_key": "foobar2000", "spdx_license_key": "LicenseRef-scancode-foobar2000", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "foobar2000.json", "yml": "foobar2000.yml", "html": "foobar2000.html", "text": "foobar2000.LICENSE" }, { "license_key": "fpl", "spdx_license_key": "LicenseRef-scancode-fpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fpl.json", "yml": "fpl.yml", "html": "fpl.html", "text": "fpl.LICENSE" }, { "license_key": "fplot", "spdx_license_key": "LicenseRef-scancode-fplot", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fplot.json", "yml": "fplot.yml", "html": "fplot.html", "text": "fplot.LICENSE" }, { "license_key": "frameworx-1.0", "spdx_license_key": "Frameworx-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "frameworx-1.0.json", "yml": "frameworx-1.0.yml", "html": "frameworx-1.0.html", "text": "frameworx-1.0.LICENSE" }, { "license_key": "fraunhofer-fdk-aac-codec", "spdx_license_key": "LicenseRef-scancode-fraunhofer-fdk-aac-codec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fraunhofer-fdk-aac-codec.json", "yml": "fraunhofer-fdk-aac-codec.yml", "html": "fraunhofer-fdk-aac-codec.html", "text": "fraunhofer-fdk-aac-codec.LICENSE" }, { "license_key": "fraunhofer-iso-14496-10", "spdx_license_key": "LicenseRef-scancode-fraunhofer-iso-14496-10", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fraunhofer-iso-14496-10.json", "yml": "fraunhofer-iso-14496-10.yml", "html": "fraunhofer-iso-14496-10.html", "text": "fraunhofer-iso-14496-10.LICENSE" }, { "license_key": "free-art-1.3", "spdx_license_key": "LicenseRef-scancode-free-art-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "free-art-1.3.json", "yml": "free-art-1.3.yml", "html": "free-art-1.3.html", "text": "free-art-1.3.LICENSE" }, { "license_key": "free-fork", "spdx_license_key": "LicenseRef-scancode-free-fork", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "free-fork.json", "yml": "free-fork.yml", "html": "free-fork.html", "text": "free-fork.LICENSE" }, { "license_key": "free-unknown", "spdx_license_key": "LicenseRef-scancode-free-unknown", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "free-unknown.json", "yml": "free-unknown.yml", "html": "free-unknown.html", "text": "free-unknown.LICENSE" }, { "license_key": "freebsd-boot", "spdx_license_key": "LicenseRef-scancode-freebsd-boot", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freebsd-boot.json", "yml": "freebsd-boot.yml", "html": "freebsd-boot.html", "text": "freebsd-boot.LICENSE" }, { "license_key": "freebsd-doc", "spdx_license_key": "FreeBSD-DOC", "other_spdx_license_keys": [ "LicenseRef-scancode-freebsd-doc" ], "is_exception": false, "is_deprecated": false, "json": "freebsd-doc.json", "yml": "freebsd-doc.yml", "html": "freebsd-doc.html", "text": "freebsd-doc.LICENSE" }, { "license_key": "freebsd-first", "spdx_license_key": "LicenseRef-scancode-freebsd-first", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freebsd-first.json", "yml": "freebsd-first.yml", "html": "freebsd-first.html", "text": "freebsd-first.LICENSE" }, { "license_key": "freeimage-1.0", "spdx_license_key": "FreeImage", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freeimage-1.0.json", "yml": "freeimage-1.0.yml", "html": "freeimage-1.0.html", "text": "freeimage-1.0.LICENSE" }, { "license_key": "freemarker", "spdx_license_key": "LicenseRef-scancode-freemarker", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freemarker.json", "yml": "freemarker.yml", "html": "freemarker.html", "text": "freemarker.LICENSE" }, { "license_key": "freertos-exception-2.0", "spdx_license_key": "freertos-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "freertos-exception-2.0.json", "yml": "freertos-exception-2.0.yml", "html": "freertos-exception-2.0.html", "text": "freertos-exception-2.0.LICENSE" }, { "license_key": "freetts", "spdx_license_key": "LicenseRef-scancode-freetts", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freetts.json", "yml": "freetts.yml", "html": "freetts.html", "text": "freetts.LICENSE" }, { "license_key": "freetype-patent", "spdx_license_key": "LicenseRef-scancode-freetype-patent", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freetype-patent.json", "yml": "freetype-patent.yml", "html": "freetype-patent.html", "text": "freetype-patent.LICENSE" }, { "license_key": "freetype", "spdx_license_key": "FTL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "freetype.json", "yml": "freetype.yml", "html": "freetype.html", "text": "freetype.LICENSE" }, { "license_key": "froala-owdl-1.0", "spdx_license_key": "LicenseRef-scancode-froala-owdl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "froala-owdl-1.0.json", "yml": "froala-owdl-1.0.yml", "html": "froala-owdl-1.0.html", "text": "froala-owdl-1.0.LICENSE" }, { "license_key": "frontier-1.0", "spdx_license_key": "LicenseRef-scancode-frontier-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "frontier-1.0.json", "yml": "frontier-1.0.yml", "html": "frontier-1.0.html", "text": "frontier-1.0.LICENSE" }, { "license_key": "fsf-ap", "spdx_license_key": "FSFAP", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fsf-ap.json", "yml": "fsf-ap.yml", "html": "fsf-ap.html", "text": "fsf-ap.LICENSE" }, { "license_key": "fsf-free", "spdx_license_key": "FSFUL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fsf-free.json", "yml": "fsf-free.yml", "html": "fsf-free.html", "text": "fsf-free.LICENSE" }, { "license_key": "fsf-notice", "spdx_license_key": "LicenseRef-scancode-fsf-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fsf-notice.json", "yml": "fsf-notice.yml", "html": "fsf-notice.html", "text": "fsf-notice.LICENSE" }, { "license_key": "fsf-unlimited-no-warranty", "spdx_license_key": "LicenseRef-scancode-fsf-unlimited-no-warranty", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fsf-unlimited-no-warranty.json", "yml": "fsf-unlimited-no-warranty.yml", "html": "fsf-unlimited-no-warranty.html", "text": "fsf-unlimited-no-warranty.LICENSE" }, { "license_key": "fsf-unlimited", "spdx_license_key": "FSFULLR", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "fsf-unlimited.json", "yml": "fsf-unlimited.yml", "html": "fsf-unlimited.html", "text": "fsf-unlimited.LICENSE" }, { "license_key": "ftdi", "spdx_license_key": "LicenseRef-scancode-ftdi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ftdi.json", "yml": "ftdi.yml", "html": "ftdi.html", "text": "ftdi.LICENSE" }, { "license_key": "ftpbean", "spdx_license_key": "LicenseRef-scancode-ftpbean", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ftpbean.json", "yml": "ftpbean.yml", "html": "ftpbean.html", "text": "ftpbean.LICENSE" }, { "license_key": "gareth-mccaughan", "spdx_license_key": "LicenseRef-scancode-gareth-mccaughan", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gareth-mccaughan.json", "yml": "gareth-mccaughan.yml", "html": "gareth-mccaughan.html", "text": "gareth-mccaughan.LICENSE" }, { "license_key": "gary-s-brown", "spdx_license_key": "LicenseRef-scancode-gary-s-brown", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gary-s-brown.json", "yml": "gary-s-brown.yml", "html": "gary-s-brown.html", "text": "gary-s-brown.LICENSE" }, { "license_key": "gcc-compiler-exception-2.0", "spdx_license_key": "LicenseRef-scancode-gcc-compiler-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gcc-compiler-exception-2.0.json", "yml": "gcc-compiler-exception-2.0.yml", "html": "gcc-compiler-exception-2.0.html", "text": "gcc-compiler-exception-2.0.LICENSE" }, { "license_key": "gcc-exception-3.1", "spdx_license_key": "GCC-exception-3.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gcc-exception-3.1.json", "yml": "gcc-exception-3.1.yml", "html": "gcc-exception-3.1.html", "text": "gcc-exception-3.1.LICENSE" }, { "license_key": "gcc-linking-exception-2.0", "spdx_license_key": "GCC-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gcc-linking-exception-2.0.json", "yml": "gcc-linking-exception-2.0.yml", "html": "gcc-linking-exception-2.0.html", "text": "gcc-linking-exception-2.0.LICENSE" }, { "license_key": "gdcl", "spdx_license_key": "LicenseRef-scancode-gdcl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gdcl.json", "yml": "gdcl.yml", "html": "gdcl.html", "text": "gdcl.LICENSE" }, { "license_key": "generic-cla", "spdx_license_key": "LicenseRef-scancode-generic-cla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "generic-cla.json", "yml": "generic-cla.yml", "html": "generic-cla.html", "text": "generic-cla.LICENSE" }, { "license_key": "generic-exception", "spdx_license_key": "LicenseRef-scancode-generic-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "generic-exception.json", "yml": "generic-exception.yml", "html": "generic-exception.html", "text": "generic-exception.LICENSE" }, { "license_key": "generic-export-compliance", "spdx_license_key": "LicenseRef-scancode-generic-export-compliance", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "generic-export-compliance.json", "yml": "generic-export-compliance.yml", "html": "generic-export-compliance.html", "text": "generic-export-compliance.LICENSE" }, { "license_key": "generic-tos", "spdx_license_key": "LicenseRef-scancode-generic-tos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "generic-tos.json", "yml": "generic-tos.yml", "html": "generic-tos.html", "text": "generic-tos.LICENSE" }, { "license_key": "generic-trademark", "spdx_license_key": "LicenseRef-scancode-generic-trademark", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "generic-trademark.json", "yml": "generic-trademark.yml", "html": "generic-trademark.html", "text": "generic-trademark.LICENSE" }, { "license_key": "genivia-gsoap", "spdx_license_key": "LicenseRef-scancode-genivia-gsoap", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "genivia-gsoap.json", "yml": "genivia-gsoap.yml", "html": "genivia-gsoap.html", "text": "genivia-gsoap.LICENSE" }, { "license_key": "genode-agpl-3.0-exception", "spdx_license_key": "LicenseRef-scancode-genode-agpl-3.0-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "genode-agpl-3.0-exception.json", "yml": "genode-agpl-3.0-exception.yml", "html": "genode-agpl-3.0-exception.html", "text": "genode-agpl-3.0-exception.LICENSE" }, { "license_key": "geoff-kuenning-1993", "spdx_license_key": "LicenseRef-scancode-geoff-kuenning-1993", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "geoff-kuenning-1993.json", "yml": "geoff-kuenning-1993.yml", "html": "geoff-kuenning-1993.html", "text": "geoff-kuenning-1993.LICENSE" }, { "license_key": "geoserver-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-geoserver-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "geoserver-exception-2.0-plus.json", "yml": "geoserver-exception-2.0-plus.yml", "html": "geoserver-exception-2.0-plus.html", "text": "geoserver-exception-2.0-plus.LICENSE" }, { "license_key": "gfdl-1.1-invariants-only", "spdx_license_key": "GFDL-1.1-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1-invariants-only.json", "yml": "gfdl-1.1-invariants-only.yml", "html": "gfdl-1.1-invariants-only.html", "text": "gfdl-1.1-invariants-only.LICENSE" }, { "license_key": "gfdl-1.1-invariants-or-later", "spdx_license_key": "GFDL-1.1-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1-invariants-or-later.json", "yml": "gfdl-1.1-invariants-or-later.yml", "html": "gfdl-1.1-invariants-or-later.html", "text": "gfdl-1.1-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.1-no-invariants-only", "spdx_license_key": "GFDL-1.1-no-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1-no-invariants-only.json", "yml": "gfdl-1.1-no-invariants-only.yml", "html": "gfdl-1.1-no-invariants-only.html", "text": "gfdl-1.1-no-invariants-only.LICENSE" }, { "license_key": "gfdl-1.1-no-invariants-or-later", "spdx_license_key": "GFDL-1.1-no-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1-no-invariants-or-later.json", "yml": "gfdl-1.1-no-invariants-or-later.yml", "html": "gfdl-1.1-no-invariants-or-later.html", "text": "gfdl-1.1-no-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.1-plus", "spdx_license_key": "GFDL-1.1-or-later", "other_spdx_license_keys": [ "GFDL-1.1+" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1-plus.json", "yml": "gfdl-1.1-plus.yml", "html": "gfdl-1.1-plus.html", "text": "gfdl-1.1-plus.LICENSE" }, { "license_key": "gfdl-1.1", "spdx_license_key": "GFDL-1.1-only", "other_spdx_license_keys": [ "GFDL-1.1" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.1.json", "yml": "gfdl-1.1.yml", "html": "gfdl-1.1.html", "text": "gfdl-1.1.LICENSE" }, { "license_key": "gfdl-1.2-invariants-only", "spdx_license_key": "GFDL-1.2-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2-invariants-only.json", "yml": "gfdl-1.2-invariants-only.yml", "html": "gfdl-1.2-invariants-only.html", "text": "gfdl-1.2-invariants-only.LICENSE" }, { "license_key": "gfdl-1.2-invariants-or-later", "spdx_license_key": "GFDL-1.2-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2-invariants-or-later.json", "yml": "gfdl-1.2-invariants-or-later.yml", "html": "gfdl-1.2-invariants-or-later.html", "text": "gfdl-1.2-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.2-no-invariants-only", "spdx_license_key": "GFDL-1.2-no-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2-no-invariants-only.json", "yml": "gfdl-1.2-no-invariants-only.yml", "html": "gfdl-1.2-no-invariants-only.html", "text": "gfdl-1.2-no-invariants-only.LICENSE" }, { "license_key": "gfdl-1.2-no-invariants-or-later", "spdx_license_key": "GFDL-1.2-no-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2-no-invariants-or-later.json", "yml": "gfdl-1.2-no-invariants-or-later.yml", "html": "gfdl-1.2-no-invariants-or-later.html", "text": "gfdl-1.2-no-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.2-plus", "spdx_license_key": "GFDL-1.2-or-later", "other_spdx_license_keys": [ "GFDL-1.2+" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2-plus.json", "yml": "gfdl-1.2-plus.yml", "html": "gfdl-1.2-plus.html", "text": "gfdl-1.2-plus.LICENSE" }, { "license_key": "gfdl-1.2", "spdx_license_key": "GFDL-1.2-only", "other_spdx_license_keys": [ "GFDL-1.2" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.2.json", "yml": "gfdl-1.2.yml", "html": "gfdl-1.2.html", "text": "gfdl-1.2.LICENSE" }, { "license_key": "gfdl-1.3-invariants-only", "spdx_license_key": "GFDL-1.3-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3-invariants-only.json", "yml": "gfdl-1.3-invariants-only.yml", "html": "gfdl-1.3-invariants-only.html", "text": "gfdl-1.3-invariants-only.LICENSE" }, { "license_key": "gfdl-1.3-invariants-or-later", "spdx_license_key": "GFDL-1.3-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3-invariants-or-later.json", "yml": "gfdl-1.3-invariants-or-later.yml", "html": "gfdl-1.3-invariants-or-later.html", "text": "gfdl-1.3-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.3-no-invariants-only", "spdx_license_key": "GFDL-1.3-no-invariants-only", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3-no-invariants-only.json", "yml": "gfdl-1.3-no-invariants-only.yml", "html": "gfdl-1.3-no-invariants-only.html", "text": "gfdl-1.3-no-invariants-only.LICENSE" }, { "license_key": "gfdl-1.3-no-invariants-or-later", "spdx_license_key": "GFDL-1.3-no-invariants-or-later", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3-no-invariants-or-later.json", "yml": "gfdl-1.3-no-invariants-or-later.yml", "html": "gfdl-1.3-no-invariants-or-later.html", "text": "gfdl-1.3-no-invariants-or-later.LICENSE" }, { "license_key": "gfdl-1.3-plus", "spdx_license_key": "GFDL-1.3-or-later", "other_spdx_license_keys": [ "GFDL-1.3+" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3-plus.json", "yml": "gfdl-1.3-plus.yml", "html": "gfdl-1.3-plus.html", "text": "gfdl-1.3-plus.LICENSE" }, { "license_key": "gfdl-1.3", "spdx_license_key": "GFDL-1.3-only", "other_spdx_license_keys": [ "GFDL-1.3" ], "is_exception": false, "is_deprecated": false, "json": "gfdl-1.3.json", "yml": "gfdl-1.3.yml", "html": "gfdl-1.3.html", "text": "gfdl-1.3.LICENSE" }, { "license_key": "ghostscript-1988", "spdx_license_key": "LicenseRef-scancode-ghostscript-1988", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ghostscript-1988.json", "yml": "ghostscript-1988.yml", "html": "ghostscript-1988.html", "text": "ghostscript-1988.LICENSE" }, { "license_key": "gl2ps", "spdx_license_key": "GL2PS", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gl2ps.json", "yml": "gl2ps.yml", "html": "gl2ps.html", "text": "gl2ps.LICENSE" }, { "license_key": "glide", "spdx_license_key": "Glide", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "glide.json", "yml": "glide.yml", "html": "glide.html", "text": "glide.LICENSE" }, { "license_key": "glulxe", "spdx_license_key": "Glulxe", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "glulxe.json", "yml": "glulxe.yml", "html": "glulxe.html", "text": "glulxe.LICENSE" }, { "license_key": "glut", "spdx_license_key": "LicenseRef-scancode-glut", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "glut.json", "yml": "glut.yml", "html": "glut.html", "text": "glut.LICENSE" }, { "license_key": "glwtpl", "spdx_license_key": "GLWTPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "glwtpl.json", "yml": "glwtpl.yml", "html": "glwtpl.html", "text": "glwtpl.LICENSE" }, { "license_key": "gnu-javamail-exception", "spdx_license_key": "gnu-javamail-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gnu-javamail-exception.json", "yml": "gnu-javamail-exception.yml", "html": "gnu-javamail-exception.html", "text": "gnu-javamail-exception.LICENSE" }, { "license_key": "gnuplot", "spdx_license_key": "gnuplot", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gnuplot.json", "yml": "gnuplot.yml", "html": "gnuplot.html", "text": "gnuplot.LICENSE" }, { "license_key": "goahead", "spdx_license_key": "LicenseRef-scancode-goahead", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "goahead.json", "yml": "goahead.yml", "html": "goahead.html", "text": "goahead.LICENSE" }, { "license_key": "google-analytics-tos-2015", "spdx_license_key": "LicenseRef-scancode-google-analytics-tos-2015", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-analytics-tos-2015.json", "yml": "google-analytics-tos-2015.yml", "html": "google-analytics-tos-2015.html", "text": "google-analytics-tos-2015.LICENSE" }, { "license_key": "google-analytics-tos-2016", "spdx_license_key": "LicenseRef-scancode-google-analytics-tos-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-analytics-tos-2016.json", "yml": "google-analytics-tos-2016.yml", "html": "google-analytics-tos-2016.html", "text": "google-analytics-tos-2016.LICENSE" }, { "license_key": "google-analytics-tos", "spdx_license_key": "LicenseRef-scancode-google-analytics-tos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-analytics-tos.json", "yml": "google-analytics-tos.yml", "html": "google-analytics-tos.html", "text": "google-analytics-tos.LICENSE" }, { "license_key": "google-patent-license-fuchsia", "spdx_license_key": "LicenseRef-scancode-google-patent-license-fuchsia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-patent-license-fuchsia.json", "yml": "google-patent-license-fuchsia.yml", "html": "google-patent-license-fuchsia.html", "text": "google-patent-license-fuchsia.LICENSE" }, { "license_key": "google-patent-license-fuschia", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "google-patent-license-fuschia.json", "yml": "google-patent-license-fuschia.yml", "html": "google-patent-license-fuschia.html", "text": "google-patent-license-fuschia.LICENSE" }, { "license_key": "google-patent-license-golang", "spdx_license_key": "LicenseRef-scancode-google-patent-license-golang", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-patent-license-golang.json", "yml": "google-patent-license-golang.yml", "html": "google-patent-license-golang.html", "text": "google-patent-license-golang.LICENSE" }, { "license_key": "google-patent-license-webm", "spdx_license_key": "LicenseRef-scancode-google-patent-license-webm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-patent-license-webm.json", "yml": "google-patent-license-webm.yml", "html": "google-patent-license-webm.html", "text": "google-patent-license-webm.LICENSE" }, { "license_key": "google-patent-license-webrtc", "spdx_license_key": "LicenseRef-scancode-google-patent-license-webrtc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-patent-license-webrtc.json", "yml": "google-patent-license-webrtc.yml", "html": "google-patent-license-webrtc.html", "text": "google-patent-license-webrtc.LICENSE" }, { "license_key": "google-patent-license", "spdx_license_key": "LicenseRef-scancode-google-patent-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-patent-license.json", "yml": "google-patent-license.yml", "html": "google-patent-license.html", "text": "google-patent-license.LICENSE" }, { "license_key": "google-tos-2013", "spdx_license_key": "LicenseRef-scancode-google-tos-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "google-tos-2013.json", "yml": "google-tos-2013.yml", "html": "google-tos-2013.html", "text": "google-tos-2013.LICENSE" }, { "license_key": "gpl-1.0-plus", "spdx_license_key": "GPL-1.0-or-later", "other_spdx_license_keys": [ "GPL-1.0+" ], "is_exception": false, "is_deprecated": false, "json": "gpl-1.0-plus.json", "yml": "gpl-1.0-plus.yml", "html": "gpl-1.0-plus.html", "text": "gpl-1.0-plus.LICENSE" }, { "license_key": "gpl-1.0", "spdx_license_key": "GPL-1.0-only", "other_spdx_license_keys": [ "GPL-1.0" ], "is_exception": false, "is_deprecated": false, "json": "gpl-1.0.json", "yml": "gpl-1.0.yml", "html": "gpl-1.0.html", "text": "gpl-1.0.LICENSE" }, { "license_key": "gpl-2.0-adaptec", "spdx_license_key": "LicenseRef-scancode-gpl-2.0-adaptec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gpl-2.0-adaptec.json", "yml": "gpl-2.0-adaptec.yml", "html": "gpl-2.0-adaptec.html", "text": "gpl-2.0-adaptec.LICENSE" }, { "license_key": "gpl-2.0-autoconf", "spdx_license_key": "GPL-2.0-with-autoconf-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-autoconf.json", "yml": "gpl-2.0-autoconf.yml", "html": "gpl-2.0-autoconf.html", "text": "gpl-2.0-autoconf.LICENSE" }, { "license_key": "gpl-2.0-autoopts", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-autoopts.json", "yml": "gpl-2.0-autoopts.yml", "html": "gpl-2.0-autoopts.html", "text": "gpl-2.0-autoopts.LICENSE" }, { "license_key": "gpl-2.0-bison-2.2", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-bison-2.2.json", "yml": "gpl-2.0-bison-2.2.yml", "html": "gpl-2.0-bison-2.2.html", "text": "gpl-2.0-bison-2.2.LICENSE" }, { "license_key": "gpl-2.0-bison", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-bison.json", "yml": "gpl-2.0-bison.yml", "html": "gpl-2.0-bison.html", "text": "gpl-2.0-bison.LICENSE" }, { "license_key": "gpl-2.0-broadcom-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-broadcom-linking.json", "yml": "gpl-2.0-broadcom-linking.yml", "html": "gpl-2.0-broadcom-linking.html", "text": "gpl-2.0-broadcom-linking.LICENSE" }, { "license_key": "gpl-2.0-classpath", "spdx_license_key": "GPL-2.0-with-classpath-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-classpath.json", "yml": "gpl-2.0-classpath.yml", "html": "gpl-2.0-classpath.html", "text": "gpl-2.0-classpath.LICENSE" }, { "license_key": "gpl-2.0-cygwin", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-cygwin.json", "yml": "gpl-2.0-cygwin.yml", "html": "gpl-2.0-cygwin.html", "text": "gpl-2.0-cygwin.LICENSE" }, { "license_key": "gpl-2.0-djvu", "spdx_license_key": "LicenseRef-scancode-gpl-2.0-djvu", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gpl-2.0-djvu.json", "yml": "gpl-2.0-djvu.yml", "html": "gpl-2.0-djvu.html", "text": "gpl-2.0-djvu.LICENSE" }, { "license_key": "gpl-2.0-font", "spdx_license_key": "GPL-2.0-with-font-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-font.json", "yml": "gpl-2.0-font.yml", "html": "gpl-2.0-font.html", "text": "gpl-2.0-font.LICENSE" }, { "license_key": "gpl-2.0-freertos", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-freertos.json", "yml": "gpl-2.0-freertos.yml", "html": "gpl-2.0-freertos.html", "text": "gpl-2.0-freertos.LICENSE" }, { "license_key": "gpl-2.0-gcc-compiler-exception", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-gcc-compiler-exception.json", "yml": "gpl-2.0-gcc-compiler-exception.yml", "html": "gpl-2.0-gcc-compiler-exception.html", "text": "gpl-2.0-gcc-compiler-exception.LICENSE" }, { "license_key": "gpl-2.0-gcc", "spdx_license_key": "GPL-2.0-with-GCC-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-gcc.json", "yml": "gpl-2.0-gcc.yml", "html": "gpl-2.0-gcc.html", "text": "gpl-2.0-gcc.LICENSE" }, { "license_key": "gpl-2.0-glibc", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-glibc.json", "yml": "gpl-2.0-glibc.yml", "html": "gpl-2.0-glibc.html", "text": "gpl-2.0-glibc.LICENSE" }, { "license_key": "gpl-2.0-guile", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-guile.json", "yml": "gpl-2.0-guile.yml", "html": "gpl-2.0-guile.html", "text": "gpl-2.0-guile.LICENSE" }, { "license_key": "gpl-2.0-ice", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-ice.json", "yml": "gpl-2.0-ice.yml", "html": "gpl-2.0-ice.html", "text": "gpl-2.0-ice.LICENSE" }, { "license_key": "gpl-2.0-independent-module-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-independent-module-linking.json", "yml": "gpl-2.0-independent-module-linking.yml", "html": "gpl-2.0-independent-module-linking.html", "text": "gpl-2.0-independent-module-linking.LICENSE" }, { "license_key": "gpl-2.0-iolib", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-iolib.json", "yml": "gpl-2.0-iolib.yml", "html": "gpl-2.0-iolib.html", "text": "gpl-2.0-iolib.LICENSE" }, { "license_key": "gpl-2.0-iso-cpp", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-iso-cpp.json", "yml": "gpl-2.0-iso-cpp.yml", "html": "gpl-2.0-iso-cpp.html", "text": "gpl-2.0-iso-cpp.LICENSE" }, { "license_key": "gpl-2.0-javascript", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-javascript.json", "yml": "gpl-2.0-javascript.yml", "html": "gpl-2.0-javascript.html", "text": "gpl-2.0-javascript.LICENSE" }, { "license_key": "gpl-2.0-kernel", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-kernel.json", "yml": "gpl-2.0-kernel.yml", "html": "gpl-2.0-kernel.html", "text": "gpl-2.0-kernel.LICENSE" }, { "license_key": "gpl-2.0-koterov", "spdx_license_key": "LicenseRef-scancode-gpl-2.0-koterov", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gpl-2.0-koterov.json", "yml": "gpl-2.0-koterov.yml", "html": "gpl-2.0-koterov.html", "text": "gpl-2.0-koterov.LICENSE" }, { "license_key": "gpl-2.0-libgit2", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-libgit2.json", "yml": "gpl-2.0-libgit2.yml", "html": "gpl-2.0-libgit2.html", "text": "gpl-2.0-libgit2.LICENSE" }, { "license_key": "gpl-2.0-library", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-library.json", "yml": "gpl-2.0-library.yml", "html": "gpl-2.0-library.html", "text": "gpl-2.0-library.LICENSE" }, { "license_key": "gpl-2.0-libtool", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-libtool.json", "yml": "gpl-2.0-libtool.yml", "html": "gpl-2.0-libtool.html", "text": "gpl-2.0-libtool.LICENSE" }, { "license_key": "gpl-2.0-lmbench", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-lmbench.json", "yml": "gpl-2.0-lmbench.yml", "html": "gpl-2.0-lmbench.html", "text": "gpl-2.0-lmbench.LICENSE" }, { "license_key": "gpl-2.0-mysql-connector-odbc", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-mysql-connector-odbc.json", "yml": "gpl-2.0-mysql-connector-odbc.yml", "html": "gpl-2.0-mysql-connector-odbc.html", "text": "gpl-2.0-mysql-connector-odbc.LICENSE" }, { "license_key": "gpl-2.0-mysql-floss", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-mysql-floss.json", "yml": "gpl-2.0-mysql-floss.yml", "html": "gpl-2.0-mysql-floss.html", "text": "gpl-2.0-mysql-floss.LICENSE" }, { "license_key": "gpl-2.0-openjdk", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-openjdk.json", "yml": "gpl-2.0-openjdk.yml", "html": "gpl-2.0-openjdk.html", "text": "gpl-2.0-openjdk.LICENSE" }, { "license_key": "gpl-2.0-openssl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-openssl.json", "yml": "gpl-2.0-openssl.yml", "html": "gpl-2.0-openssl.html", "text": "gpl-2.0-openssl.LICENSE" }, { "license_key": "gpl-2.0-oracle-mysql-foss", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-oracle-mysql-foss.json", "yml": "gpl-2.0-oracle-mysql-foss.yml", "html": "gpl-2.0-oracle-mysql-foss.html", "text": "gpl-2.0-oracle-mysql-foss.LICENSE" }, { "license_key": "gpl-2.0-oracle-openjdk", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-oracle-openjdk.json", "yml": "gpl-2.0-oracle-openjdk.yml", "html": "gpl-2.0-oracle-openjdk.html", "text": "gpl-2.0-oracle-openjdk.LICENSE" }, { "license_key": "gpl-2.0-plus-ada", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-ada.json", "yml": "gpl-2.0-plus-ada.yml", "html": "gpl-2.0-plus-ada.html", "text": "gpl-2.0-plus-ada.LICENSE" }, { "license_key": "gpl-2.0-plus-ekiga", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-ekiga.json", "yml": "gpl-2.0-plus-ekiga.yml", "html": "gpl-2.0-plus-ekiga.html", "text": "gpl-2.0-plus-ekiga.LICENSE" }, { "license_key": "gpl-2.0-plus-gcc", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-gcc.json", "yml": "gpl-2.0-plus-gcc.yml", "html": "gpl-2.0-plus-gcc.html", "text": "gpl-2.0-plus-gcc.LICENSE" }, { "license_key": "gpl-2.0-plus-geoserver", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-geoserver.json", "yml": "gpl-2.0-plus-geoserver.yml", "html": "gpl-2.0-plus-geoserver.html", "text": "gpl-2.0-plus-geoserver.LICENSE" }, { "license_key": "gpl-2.0-plus-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-linking.json", "yml": "gpl-2.0-plus-linking.yml", "html": "gpl-2.0-plus-linking.html", "text": "gpl-2.0-plus-linking.LICENSE" }, { "license_key": "gpl-2.0-plus-nant", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-nant.json", "yml": "gpl-2.0-plus-nant.yml", "html": "gpl-2.0-plus-nant.html", "text": "gpl-2.0-plus-nant.LICENSE" }, { "license_key": "gpl-2.0-plus-openmotif", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-openmotif.json", "yml": "gpl-2.0-plus-openmotif.yml", "html": "gpl-2.0-plus-openmotif.html", "text": "gpl-2.0-plus-openmotif.LICENSE" }, { "license_key": "gpl-2.0-plus-openssl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-openssl.json", "yml": "gpl-2.0-plus-openssl.yml", "html": "gpl-2.0-plus-openssl.html", "text": "gpl-2.0-plus-openssl.LICENSE" }, { "license_key": "gpl-2.0-plus-sane", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-sane.json", "yml": "gpl-2.0-plus-sane.yml", "html": "gpl-2.0-plus-sane.html", "text": "gpl-2.0-plus-sane.LICENSE" }, { "license_key": "gpl-2.0-plus-subcommander", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-subcommander.json", "yml": "gpl-2.0-plus-subcommander.yml", "html": "gpl-2.0-plus-subcommander.html", "text": "gpl-2.0-plus-subcommander.LICENSE" }, { "license_key": "gpl-2.0-plus-syntext", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-syntext.json", "yml": "gpl-2.0-plus-syntext.yml", "html": "gpl-2.0-plus-syntext.html", "text": "gpl-2.0-plus-syntext.LICENSE" }, { "license_key": "gpl-2.0-plus-upx", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-plus-upx.json", "yml": "gpl-2.0-plus-upx.yml", "html": "gpl-2.0-plus-upx.html", "text": "gpl-2.0-plus-upx.LICENSE" }, { "license_key": "gpl-2.0-plus", "spdx_license_key": "GPL-2.0-or-later", "other_spdx_license_keys": [ "GPL-2.0+", "GPL 2.0+" ], "is_exception": false, "is_deprecated": false, "json": "gpl-2.0-plus.json", "yml": "gpl-2.0-plus.yml", "html": "gpl-2.0-plus.html", "text": "gpl-2.0-plus.LICENSE" }, { "license_key": "gpl-2.0-proguard", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-proguard.json", "yml": "gpl-2.0-proguard.yml", "html": "gpl-2.0-proguard.html", "text": "gpl-2.0-proguard.LICENSE" }, { "license_key": "gpl-2.0-qt-qca", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-qt-qca.json", "yml": "gpl-2.0-qt-qca.yml", "html": "gpl-2.0-qt-qca.html", "text": "gpl-2.0-qt-qca.LICENSE" }, { "license_key": "gpl-2.0-redhat", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-redhat.json", "yml": "gpl-2.0-redhat.yml", "html": "gpl-2.0-redhat.html", "text": "gpl-2.0-redhat.LICENSE" }, { "license_key": "gpl-2.0-rrdtool-floss", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-rrdtool-floss.json", "yml": "gpl-2.0-rrdtool-floss.yml", "html": "gpl-2.0-rrdtool-floss.html", "text": "gpl-2.0-rrdtool-floss.LICENSE" }, { "license_key": "gpl-2.0-uboot", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-2.0-uboot.json", "yml": "gpl-2.0-uboot.yml", "html": "gpl-2.0-uboot.html", "text": "gpl-2.0-uboot.LICENSE" }, { "license_key": "gpl-2.0", "spdx_license_key": "GPL-2.0-only", "other_spdx_license_keys": [ "GPL-2.0", "GPL 2.0" ], "is_exception": false, "is_deprecated": false, "json": "gpl-2.0.json", "yml": "gpl-2.0.yml", "html": "gpl-2.0.html", "text": "gpl-2.0.LICENSE" }, { "license_key": "gpl-3.0-aptana", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-aptana.json", "yml": "gpl-3.0-aptana.yml", "html": "gpl-3.0-aptana.html", "text": "gpl-3.0-aptana.LICENSE" }, { "license_key": "gpl-3.0-autoconf", "spdx_license_key": "GPL-3.0-with-autoconf-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-autoconf.json", "yml": "gpl-3.0-autoconf.yml", "html": "gpl-3.0-autoconf.html", "text": "gpl-3.0-autoconf.LICENSE" }, { "license_key": "gpl-3.0-bison", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-bison.json", "yml": "gpl-3.0-bison.yml", "html": "gpl-3.0-bison.html", "text": "gpl-3.0-bison.LICENSE" }, { "license_key": "gpl-3.0-cygwin", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-cygwin.json", "yml": "gpl-3.0-cygwin.yml", "html": "gpl-3.0-cygwin.html", "text": "gpl-3.0-cygwin.LICENSE" }, { "license_key": "gpl-3.0-font", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-font.json", "yml": "gpl-3.0-font.yml", "html": "gpl-3.0-font.html", "text": "gpl-3.0-font.LICENSE" }, { "license_key": "gpl-3.0-gcc", "spdx_license_key": "GPL-3.0-with-GCC-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-gcc.json", "yml": "gpl-3.0-gcc.yml", "html": "gpl-3.0-gcc.html", "text": "gpl-3.0-gcc.LICENSE" }, { "license_key": "gpl-3.0-linking-exception", "spdx_license_key": "GPL-3.0-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gpl-3.0-linking-exception.json", "yml": "gpl-3.0-linking-exception.yml", "html": "gpl-3.0-linking-exception.html", "text": "gpl-3.0-linking-exception.LICENSE" }, { "license_key": "gpl-3.0-linking-source-exception", "spdx_license_key": "GPL-3.0-linking-source-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gpl-3.0-linking-source-exception.json", "yml": "gpl-3.0-linking-source-exception.yml", "html": "gpl-3.0-linking-source-exception.html", "text": "gpl-3.0-linking-source-exception.LICENSE" }, { "license_key": "gpl-3.0-openbd", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-openbd.json", "yml": "gpl-3.0-openbd.yml", "html": "gpl-3.0-openbd.html", "text": "gpl-3.0-openbd.LICENSE" }, { "license_key": "gpl-3.0-plus-openssl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "gpl-3.0-plus-openssl.json", "yml": "gpl-3.0-plus-openssl.yml", "html": "gpl-3.0-plus-openssl.html", "text": "gpl-3.0-plus-openssl.LICENSE" }, { "license_key": "gpl-3.0-plus", "spdx_license_key": "GPL-3.0-or-later", "other_spdx_license_keys": [ "GPL-3.0+" ], "is_exception": false, "is_deprecated": false, "json": "gpl-3.0-plus.json", "yml": "gpl-3.0-plus.yml", "html": "gpl-3.0-plus.html", "text": "gpl-3.0-plus.LICENSE" }, { "license_key": "gpl-3.0", "spdx_license_key": "GPL-3.0-only", "other_spdx_license_keys": [ "GPL-3.0" ], "is_exception": false, "is_deprecated": false, "json": "gpl-3.0.json", "yml": "gpl-3.0.yml", "html": "gpl-3.0.html", "text": "gpl-3.0.LICENSE" }, { "license_key": "gpl-generic-additional-terms", "spdx_license_key": "LicenseRef-scancode-gpl-generic-additional-terms", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gpl-generic-additional-terms.json", "yml": "gpl-generic-additional-terms.yml", "html": "gpl-generic-additional-terms.html", "text": "gpl-generic-additional-terms.LICENSE" }, { "license_key": "gplcc-1.0", "spdx_license_key": "GPL-CC-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gplcc-1.0.json", "yml": "gplcc-1.0.yml", "html": "gplcc-1.0.html", "text": "gplcc-1.0.LICENSE" }, { "license_key": "graphics-gems", "spdx_license_key": "LicenseRef-scancode-graphics-gems", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "graphics-gems.json", "yml": "graphics-gems.yml", "html": "graphics-gems.html", "text": "graphics-gems.LICENSE" }, { "license_key": "greg-roelofs", "spdx_license_key": "LicenseRef-scancode-greg-roelofs", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "greg-roelofs.json", "yml": "greg-roelofs.yml", "html": "greg-roelofs.html", "text": "greg-roelofs.LICENSE" }, { "license_key": "gregory-pietsch", "spdx_license_key": "LicenseRef-scancode-gregory-pietsch", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gregory-pietsch.json", "yml": "gregory-pietsch.yml", "html": "gregory-pietsch.html", "text": "gregory-pietsch.LICENSE" }, { "license_key": "gsoap-1.3a", "spdx_license_key": "LicenseRef-scancode-gsoap-1.3a", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gsoap-1.3a.json", "yml": "gsoap-1.3a.yml", "html": "gsoap-1.3a.html", "text": "gsoap-1.3a.LICENSE" }, { "license_key": "gsoap-1.3b", "spdx_license_key": "gSOAP-1.3b", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gsoap-1.3b.json", "yml": "gsoap-1.3b.yml", "html": "gsoap-1.3b.html", "text": "gsoap-1.3b.LICENSE" }, { "license_key": "gstreamer-exception-2.0", "spdx_license_key": "LicenseRef-scancode-gstreamer-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "gstreamer-exception-2.0.json", "yml": "gstreamer-exception-2.0.yml", "html": "gstreamer-exception-2.0.html", "text": "gstreamer-exception-2.0.LICENSE" }, { "license_key": "guile-exception-2.0", "spdx_license_key": "LicenseRef-scancode-guile-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "guile-exception-2.0.json", "yml": "guile-exception-2.0.yml", "html": "guile-exception-2.0.html", "text": "guile-exception-2.0.LICENSE" }, { "license_key": "gust-font-1.0", "spdx_license_key": "LicenseRef-scancode-gust-font-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gust-font-1.0.json", "yml": "gust-font-1.0.yml", "html": "gust-font-1.0.html", "text": "gust-font-1.0.LICENSE" }, { "license_key": "gust-font-2006-09-30", "spdx_license_key": "LicenseRef-scancode-gust-font-2006-09-30", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gust-font-2006-09-30.json", "yml": "gust-font-2006-09-30.yml", "html": "gust-font-2006-09-30.html", "text": "gust-font-2006-09-30.LICENSE" }, { "license_key": "gutenberg-2020", "spdx_license_key": "LicenseRef-scancode-gutenberg-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "gutenberg-2020.json", "yml": "gutenberg-2020.yml", "html": "gutenberg-2020.html", "text": "gutenberg-2020.LICENSE" }, { "license_key": "h2-1.0", "spdx_license_key": "LicenseRef-scancode-h2-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "h2-1.0.json", "yml": "h2-1.0.yml", "html": "h2-1.0.html", "text": "h2-1.0.LICENSE" }, { "license_key": "hacos-1.2", "spdx_license_key": "LicenseRef-scancode-hacos-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hacos-1.2.json", "yml": "hacos-1.2.yml", "html": "hacos-1.2.html", "text": "hacos-1.2.LICENSE" }, { "license_key": "haskell-report", "spdx_license_key": "HaskellReport", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "haskell-report.json", "yml": "haskell-report.yml", "html": "haskell-report.html", "text": "haskell-report.LICENSE" }, { "license_key": "hauppauge-firmware-eula", "spdx_license_key": "LicenseRef-scancode-hauppauge-firmware-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hauppauge-firmware-eula.json", "yml": "hauppauge-firmware-eula.yml", "html": "hauppauge-firmware-eula.html", "text": "hauppauge-firmware-eula.LICENSE" }, { "license_key": "hauppauge-firmware-oem", "spdx_license_key": "LicenseRef-scancode-hauppauge-firmware-oem", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hauppauge-firmware-oem.json", "yml": "hauppauge-firmware-oem.yml", "html": "hauppauge-firmware-oem.html", "text": "hauppauge-firmware-oem.LICENSE" }, { "license_key": "hazelcast-community-1.0", "spdx_license_key": "LicenseRef-scancode-hazelcast-community-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hazelcast-community-1.0.json", "yml": "hazelcast-community-1.0.yml", "html": "hazelcast-community-1.0.html", "text": "hazelcast-community-1.0.LICENSE" }, { "license_key": "hdf4", "spdx_license_key": "LicenseRef-scancode-hdf4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hdf4.json", "yml": "hdf4.yml", "html": "hdf4.html", "text": "hdf4.LICENSE" }, { "license_key": "hdf5", "spdx_license_key": "LicenseRef-scancode-hdf5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hdf5.json", "yml": "hdf5.yml", "html": "hdf5.html", "text": "hdf5.LICENSE" }, { "license_key": "hdparm", "spdx_license_key": "LicenseRef-scancode-hdparm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hdparm.json", "yml": "hdparm.yml", "html": "hdparm.html", "text": "hdparm.LICENSE" }, { "license_key": "helios-eula", "spdx_license_key": "LicenseRef-scancode-helios-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "helios-eula.json", "yml": "helios-eula.yml", "html": "helios-eula.html", "text": "helios-eula.LICENSE" }, { "license_key": "helix", "spdx_license_key": "LicenseRef-scancode-helix", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "helix.json", "yml": "helix.yml", "html": "helix.html", "text": "helix.LICENSE" }, { "license_key": "henry-spencer-1999", "spdx_license_key": "Spencer-99", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "henry-spencer-1999.json", "yml": "henry-spencer-1999.yml", "html": "henry-spencer-1999.html", "text": "henry-spencer-1999.LICENSE" }, { "license_key": "here-proprietary", "spdx_license_key": "LicenseRef-scancode-here-proprietary", "other_spdx_license_keys": [ "LicenseRef-Proprietary-HERE" ], "is_exception": false, "is_deprecated": false, "json": "here-proprietary.json", "yml": "here-proprietary.yml", "html": "here-proprietary.html", "text": "here-proprietary.LICENSE" }, { "license_key": "hessla", "spdx_license_key": "LicenseRef-scancode-hessla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hessla.json", "yml": "hessla.yml", "html": "hessla.html", "text": "hessla.LICENSE" }, { "license_key": "hidapi", "spdx_license_key": "LicenseRef-scancode-hidapi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hidapi.json", "yml": "hidapi.yml", "html": "hidapi.html", "text": "hidapi.LICENSE" }, { "license_key": "hippocratic-1.0", "spdx_license_key": "LicenseRef-scancode-hippocratic-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hippocratic-1.0.json", "yml": "hippocratic-1.0.yml", "html": "hippocratic-1.0.html", "text": "hippocratic-1.0.LICENSE" }, { "license_key": "hippocratic-1.1", "spdx_license_key": "LicenseRef-scancode-hippocratic-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hippocratic-1.1.json", "yml": "hippocratic-1.1.yml", "html": "hippocratic-1.1.html", "text": "hippocratic-1.1.LICENSE" }, { "license_key": "hippocratic-1.2", "spdx_license_key": "LicenseRef-scancode-hippocratic-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hippocratic-1.2.json", "yml": "hippocratic-1.2.yml", "html": "hippocratic-1.2.html", "text": "hippocratic-1.2.LICENSE" }, { "license_key": "hippocratic-2.0", "spdx_license_key": "LicenseRef-scancode-hippocratic-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hippocratic-2.0.json", "yml": "hippocratic-2.0.yml", "html": "hippocratic-2.0.html", "text": "hippocratic-2.0.LICENSE" }, { "license_key": "hippocratic-2.1", "spdx_license_key": "Hippocratic-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hippocratic-2.1.json", "yml": "hippocratic-2.1.yml", "html": "hippocratic-2.1.html", "text": "hippocratic-2.1.LICENSE" }, { "license_key": "historical-ntp", "spdx_license_key": "LicenseRef-scancode-historical-ntp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "historical-ntp.json", "yml": "historical-ntp.yml", "html": "historical-ntp.html", "text": "historical-ntp.LICENSE" }, { "license_key": "historical-sell-variant", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "historical-sell-variant.json", "yml": "historical-sell-variant.yml", "html": "historical-sell-variant.html", "text": "historical-sell-variant.LICENSE" }, { "license_key": "historical", "spdx_license_key": "HPND", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "historical.json", "yml": "historical.yml", "html": "historical.html", "text": "historical.LICENSE" }, { "license_key": "hot-potato", "spdx_license_key": "LicenseRef-scancode-hot-potato", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hot-potato.json", "yml": "hot-potato.yml", "html": "hot-potato.html", "text": "hot-potato.LICENSE" }, { "license_key": "hp-enterprise-eula", "spdx_license_key": "LicenseRef-scancode-hp-enterprise-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-enterprise-eula.json", "yml": "hp-enterprise-eula.yml", "html": "hp-enterprise-eula.html", "text": "hp-enterprise-eula.LICENSE" }, { "license_key": "hp-netperf", "spdx_license_key": "LicenseRef-scancode-hp-netperf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-netperf.json", "yml": "hp-netperf.yml", "html": "hp-netperf.html", "text": "hp-netperf.LICENSE" }, { "license_key": "hp-proliant-essentials", "spdx_license_key": "LicenseRef-scancode-hp-proliant-essentials", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-proliant-essentials.json", "yml": "hp-proliant-essentials.yml", "html": "hp-proliant-essentials.html", "text": "hp-proliant-essentials.LICENSE" }, { "license_key": "hp-snmp-pp", "spdx_license_key": "LicenseRef-scancode-hp-snmp-pp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-snmp-pp.json", "yml": "hp-snmp-pp.yml", "html": "hp-snmp-pp.html", "text": "hp-snmp-pp.LICENSE" }, { "license_key": "hp-software-eula", "spdx_license_key": "LicenseRef-scancode-hp-software-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-software-eula.json", "yml": "hp-software-eula.yml", "html": "hp-software-eula.html", "text": "hp-software-eula.LICENSE" }, { "license_key": "hp-ux-java", "spdx_license_key": "LicenseRef-scancode-hp-ux-java", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-ux-java.json", "yml": "hp-ux-java.yml", "html": "hp-ux-java.html", "text": "hp-ux-java.LICENSE" }, { "license_key": "hp-ux-jre", "spdx_license_key": "LicenseRef-scancode-hp-ux-jre", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp-ux-jre.json", "yml": "hp-ux-jre.yml", "html": "hp-ux-jre.html", "text": "hp-ux-jre.LICENSE" }, { "license_key": "hp", "spdx_license_key": "LicenseRef-scancode-hp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hp.json", "yml": "hp.yml", "html": "hp.html", "text": "hp.LICENSE" }, { "license_key": "hs-regexp-orig", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "hs-regexp-orig.json", "yml": "hs-regexp-orig.yml", "html": "hs-regexp-orig.html", "text": "hs-regexp-orig.LICENSE" }, { "license_key": "hs-regexp", "spdx_license_key": "Spencer-94", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hs-regexp.json", "yml": "hs-regexp.yml", "html": "hs-regexp.html", "text": "hs-regexp.LICENSE" }, { "license_key": "html5", "spdx_license_key": "LicenseRef-scancode-html5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "html5.json", "yml": "html5.yml", "html": "html5.html", "text": "html5.LICENSE" }, { "license_key": "httpget", "spdx_license_key": "LicenseRef-scancode-httpget", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "httpget.json", "yml": "httpget.yml", "html": "httpget.html", "text": "httpget.LICENSE" }, { "license_key": "hxd", "spdx_license_key": "LicenseRef-scancode-hxd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "hxd.json", "yml": "hxd.yml", "html": "hxd.html", "text": "hxd.LICENSE" }, { "license_key": "i2p-gpl-java-exception", "spdx_license_key": "i2p-gpl-java-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "i2p-gpl-java-exception.json", "yml": "i2p-gpl-java-exception.yml", "html": "i2p-gpl-java-exception.html", "text": "i2p-gpl-java-exception.LICENSE" }, { "license_key": "ian-kaplan", "spdx_license_key": "LicenseRef-scancode-ian-kaplan", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ian-kaplan.json", "yml": "ian-kaplan.yml", "html": "ian-kaplan.html", "text": "ian-kaplan.LICENSE" }, { "license_key": "ian-piumarta", "spdx_license_key": "LicenseRef-scancode-ian-piumarta", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ian-piumarta.json", "yml": "ian-piumarta.yml", "html": "ian-piumarta.html", "text": "ian-piumarta.LICENSE" }, { "license_key": "ibm-as-is", "spdx_license_key": "LicenseRef-scancode-ibm-as-is", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-as-is.json", "yml": "ibm-as-is.yml", "html": "ibm-as-is.html", "text": "ibm-as-is.LICENSE" }, { "license_key": "ibm-developerworks-community-download", "spdx_license_key": "LicenseRef-scancode-ibm-developerworks-community-download", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-developerworks-community-download.json", "yml": "ibm-developerworks-community-download.yml", "html": "ibm-developerworks-community-download.html", "text": "ibm-developerworks-community-download.LICENSE" }, { "license_key": "ibm-dhcp", "spdx_license_key": "LicenseRef-scancode-ibm-dhcp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-dhcp.json", "yml": "ibm-dhcp.yml", "html": "ibm-dhcp.html", "text": "ibm-dhcp.LICENSE" }, { "license_key": "ibm-icu", "spdx_license_key": "LicenseRef-scancode-ibm-icu", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-icu.json", "yml": "ibm-icu.yml", "html": "ibm-icu.html", "text": "ibm-icu.LICENSE" }, { "license_key": "ibm-jre", "spdx_license_key": "LicenseRef-scancode-ibm-jre", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-jre.json", "yml": "ibm-jre.yml", "html": "ibm-jre.html", "text": "ibm-jre.LICENSE" }, { "license_key": "ibm-nwsc", "spdx_license_key": "LicenseRef-scancode-ibm-nwsc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-nwsc.json", "yml": "ibm-nwsc.yml", "html": "ibm-nwsc.html", "text": "ibm-nwsc.LICENSE" }, { "license_key": "ibm-pibs", "spdx_license_key": "IBM-pibs", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-pibs.json", "yml": "ibm-pibs.yml", "html": "ibm-pibs.html", "text": "ibm-pibs.LICENSE" }, { "license_key": "ibm-sample", "spdx_license_key": "LicenseRef-scancode-ibm-sample", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibm-sample.json", "yml": "ibm-sample.yml", "html": "ibm-sample.html", "text": "ibm-sample.LICENSE" }, { "license_key": "ibmpl-1.0", "spdx_license_key": "IPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibmpl-1.0.json", "yml": "ibmpl-1.0.yml", "html": "ibmpl-1.0.html", "text": "ibmpl-1.0.LICENSE" }, { "license_key": "ibpp", "spdx_license_key": "LicenseRef-scancode-ibpp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ibpp.json", "yml": "ibpp.yml", "html": "ibpp.html", "text": "ibpp.LICENSE" }, { "license_key": "icann-public", "spdx_license_key": "LicenseRef-scancode-icann-public", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "icann-public.json", "yml": "icann-public.yml", "html": "icann-public.html", "text": "icann-public.LICENSE" }, { "license_key": "ice-exception-2.0", "spdx_license_key": "LicenseRef-scancode-ice-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ice-exception-2.0.json", "yml": "ice-exception-2.0.yml", "html": "ice-exception-2.0.html", "text": "ice-exception-2.0.LICENSE" }, { "license_key": "icot-free", "spdx_license_key": "LicenseRef-scancode-icot-free", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "icot-free.json", "yml": "icot-free.yml", "html": "icot-free.html", "text": "icot-free.LICENSE" }, { "license_key": "idt-notice", "spdx_license_key": "LicenseRef-scancode-idt-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "idt-notice.json", "yml": "idt-notice.yml", "html": "idt-notice.html", "text": "idt-notice.LICENSE" }, { "license_key": "ietf-trust", "spdx_license_key": "LicenseRef-scancode-ietf-trust", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ietf-trust.json", "yml": "ietf-trust.yml", "html": "ietf-trust.html", "text": "ietf-trust.LICENSE" }, { "license_key": "ietf", "spdx_license_key": "LicenseRef-scancode-ietf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ietf.json", "yml": "ietf.yml", "html": "ietf.html", "text": "ietf.LICENSE" }, { "license_key": "ijg", "spdx_license_key": "IJG", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ijg.json", "yml": "ijg.yml", "html": "ijg.html", "text": "ijg.LICENSE" }, { "license_key": "ilmid", "spdx_license_key": "LicenseRef-scancode-ilmid", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ilmid.json", "yml": "ilmid.yml", "html": "ilmid.html", "text": "ilmid.LICENSE" }, { "license_key": "imagemagick", "spdx_license_key": "ImageMagick", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "imagemagick.json", "yml": "imagemagick.yml", "html": "imagemagick.html", "text": "imagemagick.LICENSE" }, { "license_key": "imagen", "spdx_license_key": "LicenseRef-scancode-imagen", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "imagen.json", "yml": "imagen.yml", "html": "imagen.html", "text": "imagen.LICENSE" }, { "license_key": "imlib2", "spdx_license_key": "Imlib2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "imlib2.json", "yml": "imlib2.yml", "html": "imlib2.html", "text": "imlib2.LICENSE" }, { "license_key": "independent-module-linking-exception", "spdx_license_key": "LicenseRef-scancode-independent-module-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "independent-module-linking-exception.json", "yml": "independent-module-linking-exception.yml", "html": "independent-module-linking-exception.html", "text": "independent-module-linking-exception.LICENSE" }, { "license_key": "indiana-extreme-1.2", "spdx_license_key": "xpp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "indiana-extreme-1.2.json", "yml": "indiana-extreme-1.2.yml", "html": "indiana-extreme-1.2.html", "text": "indiana-extreme-1.2.LICENSE" }, { "license_key": "indiana-extreme", "spdx_license_key": "LicenseRef-scancode-indiana-extreme", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "indiana-extreme.json", "yml": "indiana-extreme.yml", "html": "indiana-extreme.html", "text": "indiana-extreme.LICENSE" }, { "license_key": "infineon-free", "spdx_license_key": "LicenseRef-scancode-infineon-free", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "infineon-free.json", "yml": "infineon-free.yml", "html": "infineon-free.html", "text": "infineon-free.LICENSE" }, { "license_key": "info-zip-1997-10", "spdx_license_key": "LicenseRef-scancode-info-zip-1997-10", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-1997-10.json", "yml": "info-zip-1997-10.yml", "html": "info-zip-1997-10.html", "text": "info-zip-1997-10.LICENSE" }, { "license_key": "info-zip-2001-01", "spdx_license_key": "LicenseRef-scancode-info-zip-2001-01", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2001-01.json", "yml": "info-zip-2001-01.yml", "html": "info-zip-2001-01.html", "text": "info-zip-2001-01.LICENSE" }, { "license_key": "info-zip-2002-02", "spdx_license_key": "LicenseRef-scancode-info-zip-2002-02", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2002-02.json", "yml": "info-zip-2002-02.yml", "html": "info-zip-2002-02.html", "text": "info-zip-2002-02.LICENSE" }, { "license_key": "info-zip-2003-05", "spdx_license_key": "LicenseRef-scancode-info-zip-2003-05", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2003-05.json", "yml": "info-zip-2003-05.yml", "html": "info-zip-2003-05.html", "text": "info-zip-2003-05.LICENSE" }, { "license_key": "info-zip-2004-05", "spdx_license_key": "LicenseRef-scancode-info-zip-2004-05", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2004-05.json", "yml": "info-zip-2004-05.yml", "html": "info-zip-2004-05.html", "text": "info-zip-2004-05.LICENSE" }, { "license_key": "info-zip-2005-02", "spdx_license_key": "LicenseRef-scancode-info-zip-2005-02", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2005-02.json", "yml": "info-zip-2005-02.yml", "html": "info-zip-2005-02.html", "text": "info-zip-2005-02.LICENSE" }, { "license_key": "info-zip-2007-03", "spdx_license_key": "LicenseRef-scancode-info-zip-2007-03", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2007-03.json", "yml": "info-zip-2007-03.yml", "html": "info-zip-2007-03.html", "text": "info-zip-2007-03.LICENSE" }, { "license_key": "info-zip-2009-01", "spdx_license_key": "LicenseRef-scancode-info-zip-2009-01", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip-2009-01.json", "yml": "info-zip-2009-01.yml", "html": "info-zip-2009-01.html", "text": "info-zip-2009-01.LICENSE" }, { "license_key": "info-zip", "spdx_license_key": "Info-ZIP", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "info-zip.json", "yml": "info-zip.yml", "html": "info-zip.html", "text": "info-zip.LICENSE" }, { "license_key": "infonode-1.1", "spdx_license_key": "LicenseRef-scancode-infonode-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "infonode-1.1.json", "yml": "infonode-1.1.yml", "html": "infonode-1.1.html", "text": "infonode-1.1.LICENSE" }, { "license_key": "initial-developer-public", "spdx_license_key": "LicenseRef-scancode-initial-developer-public", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "initial-developer-public.json", "yml": "initial-developer-public.yml", "html": "initial-developer-public.html", "text": "initial-developer-public.LICENSE" }, { "license_key": "inner-net-2.0", "spdx_license_key": "LicenseRef-scancode-inner-net-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "inner-net-2.0.json", "yml": "inner-net-2.0.yml", "html": "inner-net-2.0.html", "text": "inner-net-2.0.LICENSE" }, { "license_key": "inno-setup", "spdx_license_key": "LicenseRef-scancode-inno-setup", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "inno-setup.json", "yml": "inno-setup.yml", "html": "inno-setup.html", "text": "inno-setup.LICENSE" }, { "license_key": "inria-linking-exception", "spdx_license_key": "LicenseRef-scancode-inria-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "inria-linking-exception.json", "yml": "inria-linking-exception.yml", "html": "inria-linking-exception.html", "text": "inria-linking-exception.LICENSE" }, { "license_key": "installsite", "spdx_license_key": "LicenseRef-scancode-installsite", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "installsite.json", "yml": "installsite.yml", "html": "installsite.html", "text": "installsite.LICENSE" }, { "license_key": "intel-acpi", "spdx_license_key": "Intel-ACPI", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-acpi.json", "yml": "intel-acpi.yml", "html": "intel-acpi.html", "text": "intel-acpi.LICENSE" }, { "license_key": "intel-bcl", "spdx_license_key": "LicenseRef-scancode-intel-bcl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-bcl.json", "yml": "intel-bcl.yml", "html": "intel-bcl.html", "text": "intel-bcl.LICENSE" }, { "license_key": "intel-bsd-2-clause", "spdx_license_key": "LicenseRef-scancode-intel-bsd-2-clause", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-bsd-2-clause.json", "yml": "intel-bsd-2-clause.yml", "html": "intel-bsd-2-clause.html", "text": "intel-bsd-2-clause.LICENSE" }, { "license_key": "intel-bsd-export-control", "spdx_license_key": "Intel", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-bsd-export-control.json", "yml": "intel-bsd-export-control.yml", "html": "intel-bsd-export-control.html", "text": "intel-bsd-export-control.LICENSE" }, { "license_key": "intel-bsd", "spdx_license_key": "LicenseRef-scancode-intel-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-bsd.json", "yml": "intel-bsd.yml", "html": "intel-bsd.html", "text": "intel-bsd.LICENSE" }, { "license_key": "intel-code-samples", "spdx_license_key": "LicenseRef-scancode-intel-code-samples", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-code-samples.json", "yml": "intel-code-samples.yml", "html": "intel-code-samples.html", "text": "intel-code-samples.LICENSE" }, { "license_key": "intel-confidential", "spdx_license_key": "LicenseRef-scancode-intel-confidential", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-confidential.json", "yml": "intel-confidential.yml", "html": "intel-confidential.html", "text": "intel-confidential.LICENSE" }, { "license_key": "intel-firmware", "spdx_license_key": "LicenseRef-scancode-intel-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-firmware.json", "yml": "intel-firmware.yml", "html": "intel-firmware.html", "text": "intel-firmware.LICENSE" }, { "license_key": "intel-master-eula-sw-dev-2016", "spdx_license_key": "LicenseRef-scancode-intel-master-eula-sw-dev-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-master-eula-sw-dev-2016.json", "yml": "intel-master-eula-sw-dev-2016.yml", "html": "intel-master-eula-sw-dev-2016.html", "text": "intel-master-eula-sw-dev-2016.LICENSE" }, { "license_key": "intel-material", "spdx_license_key": "LicenseRef-scancode-intel-material", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-material.json", "yml": "intel-material.yml", "html": "intel-material.html", "text": "intel-material.LICENSE" }, { "license_key": "intel-mcu-2018", "spdx_license_key": "LicenseRef-scancode-intel-mcu-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-mcu-2018.json", "yml": "intel-mcu-2018.yml", "html": "intel-mcu-2018.html", "text": "intel-mcu-2018.LICENSE" }, { "license_key": "intel-microcode", "spdx_license_key": "LicenseRef-scancode-intel-microcode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-microcode.json", "yml": "intel-microcode.yml", "html": "intel-microcode.html", "text": "intel-microcode.LICENSE" }, { "license_key": "intel-osl-1989", "spdx_license_key": "LicenseRef-scancode-intel-osl-1989", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-osl-1989.json", "yml": "intel-osl-1989.yml", "html": "intel-osl-1989.html", "text": "intel-osl-1989.LICENSE" }, { "license_key": "intel-osl-1993", "spdx_license_key": "LicenseRef-scancode-intel-osl-1993", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-osl-1993.json", "yml": "intel-osl-1993.yml", "html": "intel-osl-1993.html", "text": "intel-osl-1993.LICENSE" }, { "license_key": "intel-royalty-free", "spdx_license_key": "LicenseRef-scancode-intel-royalty-free", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-royalty-free.json", "yml": "intel-royalty-free.yml", "html": "intel-royalty-free.html", "text": "intel-royalty-free.LICENSE" }, { "license_key": "intel-sample-source-code-2015", "spdx_license_key": "LicenseRef-scancode-intel-sample-source-code-2015", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-sample-source-code-2015.json", "yml": "intel-sample-source-code-2015.yml", "html": "intel-sample-source-code-2015.html", "text": "intel-sample-source-code-2015.LICENSE" }, { "license_key": "intel-scl", "spdx_license_key": "LicenseRef-scancode-intel-scl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel-scl.json", "yml": "intel-scl.yml", "html": "intel-scl.html", "text": "intel-scl.LICENSE" }, { "license_key": "intel", "spdx_license_key": "LicenseRef-scancode-intel", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "intel.json", "yml": "intel.yml", "html": "intel.html", "text": "intel.LICENSE" }, { "license_key": "interbase-1.0", "spdx_license_key": "Interbase-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "interbase-1.0.json", "yml": "interbase-1.0.yml", "html": "interbase-1.0.html", "text": "interbase-1.0.LICENSE" }, { "license_key": "iolib-exception-2.0", "spdx_license_key": "LicenseRef-scancode-iolib-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "iolib-exception-2.0.json", "yml": "iolib-exception-2.0.yml", "html": "iolib-exception-2.0.html", "text": "iolib-exception-2.0.LICENSE" }, { "license_key": "iozone", "spdx_license_key": "LicenseRef-scancode-iozone", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "iozone.json", "yml": "iozone.yml", "html": "iozone.html", "text": "iozone.LICENSE" }, { "license_key": "ipa-font", "spdx_license_key": "IPA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ipa-font.json", "yml": "ipa-font.yml", "html": "ipa-font.html", "text": "ipa-font.LICENSE" }, { "license_key": "iptc-2006", "spdx_license_key": "LicenseRef-scancode-iptc-2006", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "iptc-2006.json", "yml": "iptc-2006.yml", "html": "iptc-2006.html", "text": "iptc-2006.LICENSE" }, { "license_key": "irfanview-eula", "spdx_license_key": "LicenseRef-scancode-irfanview-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "irfanview-eula.json", "yml": "irfanview-eula.yml", "html": "irfanview-eula.html", "text": "irfanview-eula.LICENSE" }, { "license_key": "isc", "spdx_license_key": "ISC", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "isc.json", "yml": "isc.yml", "html": "isc.html", "text": "isc.LICENSE" }, { "license_key": "iso-14496-10", "spdx_license_key": "LicenseRef-scancode-iso-14496-10", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "iso-14496-10.json", "yml": "iso-14496-10.yml", "html": "iso-14496-10.html", "text": "iso-14496-10.LICENSE" }, { "license_key": "iso-8879", "spdx_license_key": "LicenseRef-scancode-iso-8879", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "iso-8879.json", "yml": "iso-8879.yml", "html": "iso-8879.html", "text": "iso-8879.LICENSE" }, { "license_key": "iso-recorder", "spdx_license_key": "LicenseRef-scancode-iso-recorder", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "iso-recorder.json", "yml": "iso-recorder.yml", "html": "iso-recorder.html", "text": "iso-recorder.LICENSE" }, { "license_key": "isotope-cla", "spdx_license_key": "LicenseRef-scancode-isotope-cla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "isotope-cla.json", "yml": "isotope-cla.yml", "html": "isotope-cla.html", "text": "isotope-cla.LICENSE" }, { "license_key": "issl-2018", "spdx_license_key": "LicenseRef-scancode-issl-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "issl-2018.json", "yml": "issl-2018.yml", "html": "issl-2018.html", "text": "issl-2018.LICENSE" }, { "license_key": "itc-eula", "spdx_license_key": "LicenseRef-scancode-itc-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "itc-eula.json", "yml": "itc-eula.yml", "html": "itc-eula.html", "text": "itc-eula.LICENSE" }, { "license_key": "itu-t", "spdx_license_key": "LicenseRef-scancode-itu-t", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "itu-t.json", "yml": "itu-t.yml", "html": "itu-t.html", "text": "itu-t.LICENSE" }, { "license_key": "itu", "spdx_license_key": "LicenseRef-scancode-itu", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "itu.json", "yml": "itu.yml", "html": "itu.html", "text": "itu.LICENSE" }, { "license_key": "itunes", "spdx_license_key": "LicenseRef-scancode-itunes", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "itunes.json", "yml": "itunes.yml", "html": "itunes.html", "text": "itunes.LICENSE" }, { "license_key": "ja-sig", "spdx_license_key": "LicenseRef-scancode-ja-sig", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ja-sig.json", "yml": "ja-sig.yml", "html": "ja-sig.html", "text": "ja-sig.LICENSE" }, { "license_key": "jahia-1.3.1", "spdx_license_key": "LicenseRef-scancode-jahia-1.3.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jahia-1.3.1.json", "yml": "jahia-1.3.1.yml", "html": "jahia-1.3.1.html", "text": "jahia-1.3.1.LICENSE" }, { "license_key": "jam-stapl", "spdx_license_key": "LicenseRef-scancode-jam-stapl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jam-stapl.json", "yml": "jam-stapl.yml", "html": "jam-stapl.html", "text": "jam-stapl.LICENSE" }, { "license_key": "jam", "spdx_license_key": "LicenseRef-scancode-jam", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jam.json", "yml": "jam.yml", "html": "jam.html", "text": "jam.LICENSE" }, { "license_key": "jamon", "spdx_license_key": "LicenseRef-scancode-jamon", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jamon.json", "yml": "jamon.yml", "html": "jamon.html", "text": "jamon.LICENSE" }, { "license_key": "jason-mayes", "spdx_license_key": "LicenseRef-scancode-jason-mayes", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jason-mayes.json", "yml": "jason-mayes.yml", "html": "jason-mayes.html", "text": "jason-mayes.LICENSE" }, { "license_key": "jasper-1.0", "spdx_license_key": "LicenseRef-scancode-jasper-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jasper-1.0.json", "yml": "jasper-1.0.yml", "html": "jasper-1.0.html", "text": "jasper-1.0.LICENSE" }, { "license_key": "jasper-2.0", "spdx_license_key": "JasPer-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jasper-2.0.json", "yml": "jasper-2.0.yml", "html": "jasper-2.0.html", "text": "jasper-2.0.LICENSE" }, { "license_key": "java-app-stub", "spdx_license_key": "LicenseRef-scancode-java-app-stub", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "java-app-stub.json", "yml": "java-app-stub.yml", "html": "java-app-stub.html", "text": "java-app-stub.LICENSE" }, { "license_key": "java-research-1.5", "spdx_license_key": "LicenseRef-scancode-java-research-1.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "java-research-1.5.json", "yml": "java-research-1.5.yml", "html": "java-research-1.5.html", "text": "java-research-1.5.LICENSE" }, { "license_key": "javascript-exception-2.0", "spdx_license_key": "LicenseRef-scancode-javascript-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "javascript-exception-2.0.json", "yml": "javascript-exception-2.0.yml", "html": "javascript-exception-2.0.html", "text": "javascript-exception-2.0.LICENSE" }, { "license_key": "jboss-eula", "spdx_license_key": "LicenseRef-scancode-jboss-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jboss-eula.json", "yml": "jboss-eula.yml", "html": "jboss-eula.html", "text": "jboss-eula.LICENSE" }, { "license_key": "jdom", "spdx_license_key": "LicenseRef-scancode-jdom", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jdom.json", "yml": "jdom.yml", "html": "jdom.html", "text": "jdom.LICENSE" }, { "license_key": "jelurida-public-1.1", "spdx_license_key": "LicenseRef-scancode-jelurida-public-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jelurida-public-1.1.json", "yml": "jelurida-public-1.1.yml", "html": "jelurida-public-1.1.html", "text": "jelurida-public-1.1.LICENSE" }, { "license_key": "jetbrains-purchase-terms", "spdx_license_key": "LicenseRef-scancode-jetbrains-purchase-terms", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jetbrains-purchase-terms.json", "yml": "jetbrains-purchase-terms.yml", "html": "jetbrains-purchase-terms.html", "text": "jetbrains-purchase-terms.LICENSE" }, { "license_key": "jetbrains-toolbox-open-source-3", "spdx_license_key": "LicenseRef-scancode-jetbrains-toolbox-open-source-3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jetbrains-toolbox-open-source-3.json", "yml": "jetbrains-toolbox-open-source-3.yml", "html": "jetbrains-toolbox-open-source-3.html", "text": "jetbrains-toolbox-open-source-3.LICENSE" }, { "license_key": "jetty-ccla-1.1", "spdx_license_key": "LicenseRef-scancode-jetty-ccla-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jetty-ccla-1.1.json", "yml": "jetty-ccla-1.1.yml", "html": "jetty-ccla-1.1.html", "text": "jetty-ccla-1.1.LICENSE" }, { "license_key": "jetty", "spdx_license_key": "LicenseRef-scancode-jetty", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jetty.json", "yml": "jetty.yml", "html": "jetty.html", "text": "jetty.LICENSE" }, { "license_key": "jgraph-general", "spdx_license_key": "LicenseRef-scancode-jgraph-general", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jgraph-general.json", "yml": "jgraph-general.yml", "html": "jgraph-general.html", "text": "jgraph-general.LICENSE" }, { "license_key": "jgraph", "spdx_license_key": "LicenseRef-scancode-jgraph", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jgraph.json", "yml": "jgraph.yml", "html": "jgraph.html", "text": "jgraph.LICENSE" }, { "license_key": "jide-sla", "spdx_license_key": "LicenseRef-scancode-jide-sla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jide-sla.json", "yml": "jide-sla.yml", "html": "jide-sla.html", "text": "jide-sla.LICENSE" }, { "license_key": "jj2000", "spdx_license_key": "LicenseRef-scancode-jj2000", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jj2000.json", "yml": "jj2000.yml", "html": "jj2000.html", "text": "jj2000.LICENSE" }, { "license_key": "jmagnetic", "spdx_license_key": "LicenseRef-scancode-jmagnetic", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jmagnetic.json", "yml": "jmagnetic.yml", "html": "jmagnetic.html", "text": "jmagnetic.LICENSE" }, { "license_key": "josl-1.0", "spdx_license_key": "LicenseRef-scancode-josl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "josl-1.0.json", "yml": "josl-1.0.yml", "html": "josl-1.0.html", "text": "josl-1.0.LICENSE" }, { "license_key": "jpnic-idnkit", "spdx_license_key": "JPNIC", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jpnic-idnkit.json", "yml": "jpnic-idnkit.yml", "html": "jpnic-idnkit.html", "text": "jpnic-idnkit.LICENSE" }, { "license_key": "jpnic-mdnkit", "spdx_license_key": "LicenseRef-scancode-jpnic-mdnkit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jpnic-mdnkit.json", "yml": "jpnic-mdnkit.yml", "html": "jpnic-mdnkit.html", "text": "jpnic-mdnkit.LICENSE" }, { "license_key": "jprs-oscl-1.1", "spdx_license_key": "LicenseRef-scancode-jprs-oscl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jprs-oscl-1.1.json", "yml": "jprs-oscl-1.1.yml", "html": "jprs-oscl-1.1.html", "text": "jprs-oscl-1.1.LICENSE" }, { "license_key": "jpython-1.1", "spdx_license_key": "LicenseRef-scancode-jpython-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jpython-1.1.json", "yml": "jpython-1.1.yml", "html": "jpython-1.1.html", "text": "jpython-1.1.LICENSE" }, { "license_key": "jquery-pd", "spdx_license_key": "LicenseRef-scancode-jquery-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jquery-pd.json", "yml": "jquery-pd.yml", "html": "jquery-pd.html", "text": "jquery-pd.LICENSE" }, { "license_key": "jrunner", "spdx_license_key": "LicenseRef-scancode-jrunner", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jrunner.json", "yml": "jrunner.yml", "html": "jrunner.html", "text": "jrunner.LICENSE" }, { "license_key": "jscheme", "spdx_license_key": "LicenseRef-scancode-jscheme", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jscheme.json", "yml": "jscheme.yml", "html": "jscheme.html", "text": "jscheme.LICENSE" }, { "license_key": "jsfromhell", "spdx_license_key": "LicenseRef-scancode-jsfromhell", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jsfromhell.json", "yml": "jsfromhell.yml", "html": "jsfromhell.html", "text": "jsfromhell.LICENSE" }, { "license_key": "json-js-pd", "spdx_license_key": "LicenseRef-scancode-json-js-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "json-js-pd.json", "yml": "json-js-pd.yml", "html": "json-js-pd.html", "text": "json-js-pd.LICENSE" }, { "license_key": "json-pd", "spdx_license_key": "LicenseRef-scancode-json-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "json-pd.json", "yml": "json-pd.yml", "html": "json-pd.html", "text": "json-pd.LICENSE" }, { "license_key": "json", "spdx_license_key": "JSON", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "json.json", "yml": "json.yml", "html": "json.html", "text": "json.LICENSE" }, { "license_key": "jsr-107-jcache-spec-2013", "spdx_license_key": "LicenseRef-scancode-jsr-107-jcache-spec-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jsr-107-jcache-spec-2013.json", "yml": "jsr-107-jcache-spec-2013.yml", "html": "jsr-107-jcache-spec-2013.html", "text": "jsr-107-jcache-spec-2013.LICENSE" }, { "license_key": "jsr-107-jcache-spec", "spdx_license_key": "LicenseRef-scancode-jsr-107-jcache-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jsr-107-jcache-spec.json", "yml": "jsr-107-jcache-spec.yml", "html": "jsr-107-jcache-spec.html", "text": "jsr-107-jcache-spec.LICENSE" }, { "license_key": "jython", "spdx_license_key": "LicenseRef-scancode-jython", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "jython.json", "yml": "jython.yml", "html": "jython.html", "text": "jython.LICENSE" }, { "license_key": "kalle-kaukonen", "spdx_license_key": "LicenseRef-scancode-kalle-kaukonen", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "kalle-kaukonen.json", "yml": "kalle-kaukonen.yml", "html": "kalle-kaukonen.html", "text": "kalle-kaukonen.LICENSE" }, { "license_key": "karl-peterson", "spdx_license_key": "LicenseRef-scancode-karl-peterson", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "karl-peterson.json", "yml": "karl-peterson.yml", "html": "karl-peterson.html", "text": "karl-peterson.LICENSE" }, { "license_key": "kde-accepted-lgpl", "spdx_license_key": "LicenseRef-scancode-kde-accepted-lgpl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "kde-accepted-lgpl.json", "yml": "kde-accepted-lgpl.yml", "html": "kde-accepted-lgpl.html", "text": "kde-accepted-lgpl.LICENSE" }, { "license_key": "keith-rule", "spdx_license_key": "LicenseRef-scancode-keith-rule", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "keith-rule.json", "yml": "keith-rule.yml", "html": "keith-rule.html", "text": "keith-rule.LICENSE" }, { "license_key": "kerberos", "spdx_license_key": "LicenseRef-scancode-kerberos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "kerberos.json", "yml": "kerberos.yml", "html": "kerberos.html", "text": "kerberos.LICENSE" }, { "license_key": "kevan-stannard", "spdx_license_key": "LicenseRef-scancode-kevan-stannard", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "kevan-stannard.json", "yml": "kevan-stannard.yml", "html": "kevan-stannard.html", "text": "kevan-stannard.LICENSE" }, { "license_key": "kevlin-henney", "spdx_license_key": "LicenseRef-scancode-kevlin-henney", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "kevlin-henney.json", "yml": "kevlin-henney.yml", "html": "kevlin-henney.html", "text": "kevlin-henney.LICENSE" }, { "license_key": "khronos", "spdx_license_key": "LicenseRef-scancode-khronos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "khronos.json", "yml": "khronos.yml", "html": "khronos.html", "text": "khronos.LICENSE" }, { "license_key": "kumar-robotics", "spdx_license_key": "LicenseRef-scancode-kumar-robotics", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "kumar-robotics.json", "yml": "kumar-robotics.yml", "html": "kumar-robotics.html", "text": "kumar-robotics.LICENSE" }, { "license_key": "larabie", "spdx_license_key": "LicenseRef-scancode-larabie", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "larabie.json", "yml": "larabie.yml", "html": "larabie.html", "text": "larabie.LICENSE" }, { "license_key": "latex2e", "spdx_license_key": "Latex2e", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "latex2e.json", "yml": "latex2e.yml", "html": "latex2e.html", "text": "latex2e.LICENSE" }, { "license_key": "lavantech", "spdx_license_key": "LicenseRef-scancode-lavantech", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lavantech.json", "yml": "lavantech.yml", "html": "lavantech.html", "text": "lavantech.LICENSE" }, { "license_key": "lbnl-bsd", "spdx_license_key": "BSD-3-Clause-LBNL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lbnl-bsd.json", "yml": "lbnl-bsd.yml", "html": "lbnl-bsd.html", "text": "lbnl-bsd.LICENSE" }, { "license_key": "lcs-telegraphics", "spdx_license_key": "LicenseRef-scancode-lcs-telegraphics", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lcs-telegraphics.json", "yml": "lcs-telegraphics.yml", "html": "lcs-telegraphics.html", "text": "lcs-telegraphics.LICENSE" }, { "license_key": "ldap-sdk-free-use", "spdx_license_key": "LicenseRef-scancode-ldap-sdk-free-use", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldap-sdk-free-use.json", "yml": "ldap-sdk-free-use.yml", "html": "ldap-sdk-free-use.html", "text": "ldap-sdk-free-use.LICENSE" }, { "license_key": "ldpc-1994", "spdx_license_key": "LicenseRef-scancode-ldpc-1994", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpc-1994.json", "yml": "ldpc-1994.yml", "html": "ldpc-1994.html", "text": "ldpc-1994.LICENSE" }, { "license_key": "ldpc-1997", "spdx_license_key": "LicenseRef-scancode-ldpc-1997", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpc-1997.json", "yml": "ldpc-1997.yml", "html": "ldpc-1997.html", "text": "ldpc-1997.LICENSE" }, { "license_key": "ldpc-1999", "spdx_license_key": "LicenseRef-scancode-ldpc-1999", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpc-1999.json", "yml": "ldpc-1999.yml", "html": "ldpc-1999.html", "text": "ldpc-1999.LICENSE" }, { "license_key": "ldpgpl-1", "spdx_license_key": "LicenseRef-scancode-ldpgpl-1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpgpl-1.json", "yml": "ldpgpl-1.yml", "html": "ldpgpl-1.html", "text": "ldpgpl-1.LICENSE" }, { "license_key": "ldpgpl-1a", "spdx_license_key": "LicenseRef-scancode-ldpgpl-1a", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpgpl-1a.json", "yml": "ldpgpl-1a.yml", "html": "ldpgpl-1a.html", "text": "ldpgpl-1a.LICENSE" }, { "license_key": "ldpl-2.0", "spdx_license_key": "LicenseRef-scancode-ldpl-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpl-2.0.json", "yml": "ldpl-2.0.yml", "html": "ldpl-2.0.html", "text": "ldpl-2.0.LICENSE" }, { "license_key": "ldpm-1998", "spdx_license_key": "LicenseRef-scancode-ldpm-1998", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ldpm-1998.json", "yml": "ldpm-1998.yml", "html": "ldpm-1998.html", "text": "ldpm-1998.LICENSE" }, { "license_key": "leap-motion-sdk-2019", "spdx_license_key": "LicenseRef-scancode-leap-motion-sdk-2019", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "leap-motion-sdk-2019.json", "yml": "leap-motion-sdk-2019.yml", "html": "leap-motion-sdk-2019.html", "text": "leap-motion-sdk-2019.LICENSE" }, { "license_key": "leptonica", "spdx_license_key": "Leptonica", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "leptonica.json", "yml": "leptonica.yml", "html": "leptonica.html", "text": "leptonica.LICENSE" }, { "license_key": "lgpl-2.0-fltk", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.0-fltk.json", "yml": "lgpl-2.0-fltk.yml", "html": "lgpl-2.0-fltk.html", "text": "lgpl-2.0-fltk.LICENSE" }, { "license_key": "lgpl-2.0-plus-gcc", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.0-plus-gcc.json", "yml": "lgpl-2.0-plus-gcc.yml", "html": "lgpl-2.0-plus-gcc.html", "text": "lgpl-2.0-plus-gcc.LICENSE" }, { "license_key": "lgpl-2.0-plus", "spdx_license_key": "LGPL-2.0-or-later", "other_spdx_license_keys": [ "LGPL-2.0+" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-2.0-plus.json", "yml": "lgpl-2.0-plus.yml", "html": "lgpl-2.0-plus.html", "text": "lgpl-2.0-plus.LICENSE" }, { "license_key": "lgpl-2.0", "spdx_license_key": "LGPL-2.0-only", "other_spdx_license_keys": [ "LGPL-2.0" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-2.0.json", "yml": "lgpl-2.0.yml", "html": "lgpl-2.0.html", "text": "lgpl-2.0.LICENSE" }, { "license_key": "lgpl-2.1-digia-qt", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-digia-qt.json", "yml": "lgpl-2.1-digia-qt.yml", "html": "lgpl-2.1-digia-qt.html", "text": "lgpl-2.1-digia-qt.LICENSE" }, { "license_key": "lgpl-2.1-nokia-qt-1.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-nokia-qt-1.0.json", "yml": "lgpl-2.1-nokia-qt-1.0.yml", "html": "lgpl-2.1-nokia-qt-1.0.html", "text": "lgpl-2.1-nokia-qt-1.0.LICENSE" }, { "license_key": "lgpl-2.1-nokia-qt-1.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-nokia-qt-1.1.json", "yml": "lgpl-2.1-nokia-qt-1.1.yml", "html": "lgpl-2.1-nokia-qt-1.1.html", "text": "lgpl-2.1-nokia-qt-1.1.LICENSE" }, { "license_key": "lgpl-2.1-nokia-qt", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-nokia-qt.json", "yml": "lgpl-2.1-nokia-qt.yml", "html": "lgpl-2.1-nokia-qt.html", "text": "lgpl-2.1-nokia-qt.LICENSE" }, { "license_key": "lgpl-2.1-plus-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-plus-linking.json", "yml": "lgpl-2.1-plus-linking.yml", "html": "lgpl-2.1-plus-linking.html", "text": "lgpl-2.1-plus-linking.LICENSE" }, { "license_key": "lgpl-2.1-plus-unlimited-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-plus-unlimited-linking.json", "yml": "lgpl-2.1-plus-unlimited-linking.yml", "html": "lgpl-2.1-plus-unlimited-linking.html", "text": "lgpl-2.1-plus-unlimited-linking.LICENSE" }, { "license_key": "lgpl-2.1-plus", "spdx_license_key": "LGPL-2.1-or-later", "other_spdx_license_keys": [ "LGPL-2.1+" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-2.1-plus.json", "yml": "lgpl-2.1-plus.yml", "html": "lgpl-2.1-plus.html", "text": "lgpl-2.1-plus.LICENSE" }, { "license_key": "lgpl-2.1-qt-company-2017", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-qt-company-2017.json", "yml": "lgpl-2.1-qt-company-2017.yml", "html": "lgpl-2.1-qt-company-2017.html", "text": "lgpl-2.1-qt-company-2017.LICENSE" }, { "license_key": "lgpl-2.1-qt-company", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-qt-company.json", "yml": "lgpl-2.1-qt-company.yml", "html": "lgpl-2.1-qt-company.html", "text": "lgpl-2.1-qt-company.LICENSE" }, { "license_key": "lgpl-2.1-rxtx", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-rxtx.json", "yml": "lgpl-2.1-rxtx.yml", "html": "lgpl-2.1-rxtx.html", "text": "lgpl-2.1-rxtx.LICENSE" }, { "license_key": "lgpl-2.1-spell-checker", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-2.1-spell-checker.json", "yml": "lgpl-2.1-spell-checker.yml", "html": "lgpl-2.1-spell-checker.html", "text": "lgpl-2.1-spell-checker.LICENSE" }, { "license_key": "lgpl-2.1", "spdx_license_key": "LGPL-2.1-only", "other_spdx_license_keys": [ "LGPL-2.1" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-2.1.json", "yml": "lgpl-2.1.yml", "html": "lgpl-2.1.html", "text": "lgpl-2.1.LICENSE" }, { "license_key": "lgpl-3-plus-linking", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-3-plus-linking.json", "yml": "lgpl-3-plus-linking.yml", "html": "lgpl-3-plus-linking.html", "text": "lgpl-3-plus-linking.LICENSE" }, { "license_key": "lgpl-3.0-cygwin", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-3.0-cygwin.json", "yml": "lgpl-3.0-cygwin.yml", "html": "lgpl-3.0-cygwin.html", "text": "lgpl-3.0-cygwin.LICENSE" }, { "license_key": "lgpl-3.0-linking-exception", "spdx_license_key": "LGPL-3.0-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "lgpl-3.0-linking-exception.json", "yml": "lgpl-3.0-linking-exception.yml", "html": "lgpl-3.0-linking-exception.html", "text": "lgpl-3.0-linking-exception.LICENSE" }, { "license_key": "lgpl-3.0-plus-openssl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-3.0-plus-openssl.json", "yml": "lgpl-3.0-plus-openssl.yml", "html": "lgpl-3.0-plus-openssl.html", "text": "lgpl-3.0-plus-openssl.LICENSE" }, { "license_key": "lgpl-3.0-plus", "spdx_license_key": "LGPL-3.0-or-later", "other_spdx_license_keys": [ "LGPL-3.0+" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-3.0-plus.json", "yml": "lgpl-3.0-plus.yml", "html": "lgpl-3.0-plus.html", "text": "lgpl-3.0-plus.LICENSE" }, { "license_key": "lgpl-3.0-zeromq", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "lgpl-3.0-zeromq.json", "yml": "lgpl-3.0-zeromq.yml", "html": "lgpl-3.0-zeromq.html", "text": "lgpl-3.0-zeromq.LICENSE" }, { "license_key": "lgpl-3.0", "spdx_license_key": "LGPL-3.0-only", "other_spdx_license_keys": [ "LGPL-3.0" ], "is_exception": false, "is_deprecated": false, "json": "lgpl-3.0.json", "yml": "lgpl-3.0.yml", "html": "lgpl-3.0.html", "text": "lgpl-3.0.LICENSE" }, { "license_key": "lgpllr", "spdx_license_key": "LGPLLR", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lgpllr.json", "yml": "lgpllr.yml", "html": "lgpllr.html", "text": "lgpllr.LICENSE" }, { "license_key": "lha", "spdx_license_key": "LicenseRef-scancode-lha", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lha.json", "yml": "lha.yml", "html": "lha.html", "text": "lha.LICENSE" }, { "license_key": "libcap", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "libcap.json", "yml": "libcap.yml", "html": "libcap.html", "text": "libcap.LICENSE" }, { "license_key": "liberation-font-exception", "spdx_license_key": "LicenseRef-scancode-liberation-font-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "liberation-font-exception.json", "yml": "liberation-font-exception.yml", "html": "liberation-font-exception.html", "text": "liberation-font-exception.LICENSE" }, { "license_key": "libgd-2018", "spdx_license_key": "GD", "other_spdx_license_keys": [ "LicenseRef-scancode-libgd-2018" ], "is_exception": false, "is_deprecated": false, "json": "libgd-2018.json", "yml": "libgd-2018.yml", "html": "libgd-2018.html", "text": "libgd-2018.LICENSE" }, { "license_key": "libgeotiff", "spdx_license_key": "LicenseRef-scancode-libgeotiff", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libgeotiff.json", "yml": "libgeotiff.yml", "html": "libgeotiff.html", "text": "libgeotiff.LICENSE" }, { "license_key": "libmib", "spdx_license_key": "LicenseRef-scancode-libmib", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libmib.json", "yml": "libmib.yml", "html": "libmib.html", "text": "libmib.LICENSE" }, { "license_key": "libmng-2007", "spdx_license_key": "LicenseRef-scancode-libmng-2007", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libmng-2007.json", "yml": "libmng-2007.yml", "html": "libmng-2007.html", "text": "libmng-2007.LICENSE" }, { "license_key": "libpbm", "spdx_license_key": "LicenseRef-scancode-libpbm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libpbm.json", "yml": "libpbm.yml", "html": "libpbm.html", "text": "libpbm.LICENSE" }, { "license_key": "libpng-v2", "spdx_license_key": "libpng-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libpng-v2.json", "yml": "libpng-v2.yml", "html": "libpng-v2.html", "text": "libpng-v2.LICENSE" }, { "license_key": "libpng", "spdx_license_key": "Libpng", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libpng.json", "yml": "libpng.yml", "html": "libpng.html", "text": "libpng.LICENSE" }, { "license_key": "libselinux-pd", "spdx_license_key": "LicenseRef-scancode-libselinux-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libselinux-pd.json", "yml": "libselinux-pd.yml", "html": "libselinux-pd.html", "text": "libselinux-pd.LICENSE" }, { "license_key": "libsrv-1.0.2", "spdx_license_key": "LicenseRef-scancode-libsrv-1.0.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libsrv-1.0.2.json", "yml": "libsrv-1.0.2.yml", "html": "libsrv-1.0.2.html", "text": "libsrv-1.0.2.LICENSE" }, { "license_key": "libtool-exception-2.0", "spdx_license_key": "Libtool-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "libtool-exception-2.0.json", "yml": "libtool-exception-2.0.yml", "html": "libtool-exception-2.0.html", "text": "libtool-exception-2.0.LICENSE" }, { "license_key": "libtool-exception", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "libtool-exception.json", "yml": "libtool-exception.yml", "html": "libtool-exception.html", "text": "libtool-exception.LICENSE" }, { "license_key": "libwebsockets-exception", "spdx_license_key": "LicenseRef-scancode-libwebsockets-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "libwebsockets-exception.json", "yml": "libwebsockets-exception.yml", "html": "libwebsockets-exception.html", "text": "libwebsockets-exception.LICENSE" }, { "license_key": "libzip", "spdx_license_key": "LicenseRef-scancode-libzip", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "libzip.json", "yml": "libzip.yml", "html": "libzip.html", "text": "libzip.LICENSE" }, { "license_key": "license-file-reference", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "license-file-reference.json", "yml": "license-file-reference.yml", "html": "license-file-reference.html", "text": "license-file-reference.LICENSE" }, { "license_key": "lil-1", "spdx_license_key": "LicenseRef-scancode-lil-1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lil-1.json", "yml": "lil-1.yml", "html": "lil-1.html", "text": "lil-1.LICENSE" }, { "license_key": "lilo", "spdx_license_key": "LicenseRef-scancode-lilo", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lilo.json", "yml": "lilo.yml", "html": "lilo.html", "text": "lilo.LICENSE" }, { "license_key": "linking-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-linking-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "linking-exception-2.0-plus.json", "yml": "linking-exception-2.0-plus.yml", "html": "linking-exception-2.0-plus.html", "text": "linking-exception-2.0-plus.LICENSE" }, { "license_key": "linking-exception-2.1-plus", "spdx_license_key": "LicenseRef-scancode-linking-exception-2.1-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "linking-exception-2.1-plus.json", "yml": "linking-exception-2.1-plus.yml", "html": "linking-exception-2.1-plus.html", "text": "linking-exception-2.1-plus.LICENSE" }, { "license_key": "linking-exception-agpl-3.0", "spdx_license_key": "LicenseRef-scancode-linking-exception-agpl-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "linking-exception-agpl-3.0.json", "yml": "linking-exception-agpl-3.0.yml", "html": "linking-exception-agpl-3.0.html", "text": "linking-exception-agpl-3.0.LICENSE" }, { "license_key": "linking-exception-lgpl-2.0-plus", "spdx_license_key": "LicenseRef-scancode-linking-exception-lgpl-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "linking-exception-lgpl-2.0-plus.json", "yml": "linking-exception-lgpl-2.0-plus.yml", "html": "linking-exception-lgpl-2.0-plus.html", "text": "linking-exception-lgpl-2.0-plus.LICENSE" }, { "license_key": "linking-exception-lgpl-3.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "linking-exception-lgpl-3.0.json", "yml": "linking-exception-lgpl-3.0.yml", "html": "linking-exception-lgpl-3.0.html", "text": "linking-exception-lgpl-3.0.LICENSE" }, { "license_key": "linotype-eula", "spdx_license_key": "LicenseRef-scancode-linotype-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "linotype-eula.json", "yml": "linotype-eula.yml", "html": "linotype-eula.html", "text": "linotype-eula.LICENSE" }, { "license_key": "linum", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "linum.json", "yml": "linum.yml", "html": "linum.html", "text": "linum.LICENSE" }, { "license_key": "linux-device-drivers", "spdx_license_key": "LicenseRef-scancode-linux-device-drivers", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "linux-device-drivers.json", "yml": "linux-device-drivers.yml", "html": "linux-device-drivers.html", "text": "linux-device-drivers.LICENSE" }, { "license_key": "linux-openib", "spdx_license_key": "Linux-OpenIB", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "linux-openib.json", "yml": "linux-openib.yml", "html": "linux-openib.html", "text": "linux-openib.LICENSE" }, { "license_key": "linux-syscall-exception-gpl", "spdx_license_key": "Linux-syscall-note", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "linux-syscall-exception-gpl.json", "yml": "linux-syscall-exception-gpl.yml", "html": "linux-syscall-exception-gpl.html", "text": "linux-syscall-exception-gpl.LICENSE" }, { "license_key": "linuxbios", "spdx_license_key": "LicenseRef-scancode-linuxbios", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "linuxbios.json", "yml": "linuxbios.yml", "html": "linuxbios.html", "text": "linuxbios.LICENSE" }, { "license_key": "linuxhowtos", "spdx_license_key": "LicenseRef-scancode-linuxhowtos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "linuxhowtos.json", "yml": "linuxhowtos.yml", "html": "linuxhowtos.html", "text": "linuxhowtos.LICENSE" }, { "license_key": "llgpl", "spdx_license_key": "LicenseRef-scancode-llgpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "llgpl.json", "yml": "llgpl.yml", "html": "llgpl.html", "text": "llgpl.LICENSE" }, { "license_key": "llnl", "spdx_license_key": "LicenseRef-scancode-llnl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "llnl.json", "yml": "llnl.yml", "html": "llnl.html", "text": "llnl.LICENSE" }, { "license_key": "llvm-exception", "spdx_license_key": "LLVM-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "llvm-exception.json", "yml": "llvm-exception.yml", "html": "llvm-exception.html", "text": "llvm-exception.LICENSE" }, { "license_key": "lmbench-exception-2.0", "spdx_license_key": "LicenseRef-scancode-lmbench-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "lmbench-exception-2.0.json", "yml": "lmbench-exception-2.0.yml", "html": "lmbench-exception-2.0.html", "text": "lmbench-exception-2.0.LICENSE" }, { "license_key": "logica-1.0", "spdx_license_key": "LicenseRef-scancode-logica-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "logica-1.0.json", "yml": "logica-1.0.yml", "html": "logica-1.0.html", "text": "logica-1.0.LICENSE" }, { "license_key": "lppl-1.0", "spdx_license_key": "LPPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lppl-1.0.json", "yml": "lppl-1.0.yml", "html": "lppl-1.0.html", "text": "lppl-1.0.LICENSE" }, { "license_key": "lppl-1.1", "spdx_license_key": "LPPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lppl-1.1.json", "yml": "lppl-1.1.yml", "html": "lppl-1.1.html", "text": "lppl-1.1.LICENSE" }, { "license_key": "lppl-1.2", "spdx_license_key": "LPPL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lppl-1.2.json", "yml": "lppl-1.2.yml", "html": "lppl-1.2.html", "text": "lppl-1.2.LICENSE" }, { "license_key": "lppl-1.3a", "spdx_license_key": "LPPL-1.3a", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lppl-1.3a.json", "yml": "lppl-1.3a.yml", "html": "lppl-1.3a.html", "text": "lppl-1.3a.LICENSE" }, { "license_key": "lppl-1.3c", "spdx_license_key": "LPPL-1.3c", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lppl-1.3c.json", "yml": "lppl-1.3c.yml", "html": "lppl-1.3c.html", "text": "lppl-1.3c.LICENSE" }, { "license_key": "lsi-proprietary-eula", "spdx_license_key": "LicenseRef-scancode-lsi-proprietary-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lsi-proprietary-eula.json", "yml": "lsi-proprietary-eula.yml", "html": "lsi-proprietary-eula.html", "text": "lsi-proprietary-eula.LICENSE" }, { "license_key": "lucent-pl-1.0", "spdx_license_key": "LPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lucent-pl-1.0.json", "yml": "lucent-pl-1.0.yml", "html": "lucent-pl-1.0.html", "text": "lucent-pl-1.0.LICENSE" }, { "license_key": "lucent-pl-1.02", "spdx_license_key": "LPL-1.02", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lucent-pl-1.02.json", "yml": "lucent-pl-1.02.yml", "html": "lucent-pl-1.02.html", "text": "lucent-pl-1.02.LICENSE" }, { "license_key": "lucre", "spdx_license_key": "LicenseRef-scancode-lucre", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lucre.json", "yml": "lucre.yml", "html": "lucre.html", "text": "lucre.LICENSE" }, { "license_key": "lumisoft-mail-server", "spdx_license_key": "LicenseRef-scancode-lumisoft-mail-server", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lumisoft-mail-server.json", "yml": "lumisoft-mail-server.yml", "html": "lumisoft-mail-server.html", "text": "lumisoft-mail-server.LICENSE" }, { "license_key": "luxi", "spdx_license_key": "LicenseRef-scancode-luxi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "luxi.json", "yml": "luxi.yml", "html": "luxi.html", "text": "luxi.LICENSE" }, { "license_key": "lyubinskiy-dropdown", "spdx_license_key": "LicenseRef-scancode-lyubinskiy-dropdown", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lyubinskiy-dropdown.json", "yml": "lyubinskiy-dropdown.yml", "html": "lyubinskiy-dropdown.html", "text": "lyubinskiy-dropdown.LICENSE" }, { "license_key": "lyubinskiy-popup-window", "spdx_license_key": "LicenseRef-scancode-lyubinskiy-popup-window", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lyubinskiy-popup-window.json", "yml": "lyubinskiy-popup-window.yml", "html": "lyubinskiy-popup-window.html", "text": "lyubinskiy-popup-window.LICENSE" }, { "license_key": "lzma-cpl-exception", "spdx_license_key": "LZMA-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "lzma-cpl-exception.json", "yml": "lzma-cpl-exception.yml", "html": "lzma-cpl-exception.html", "text": "lzma-cpl-exception.LICENSE" }, { "license_key": "lzma-sdk-2006-exception", "spdx_license_key": "LicenseRef-scancode-lzma-sdk-2006-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "lzma-sdk-2006-exception.json", "yml": "lzma-sdk-2006-exception.yml", "html": "lzma-sdk-2006-exception.html", "text": "lzma-sdk-2006-exception.LICENSE" }, { "license_key": "lzma-sdk-2006", "spdx_license_key": "LicenseRef-scancode-lzma-sdk-2006", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lzma-sdk-2006.json", "yml": "lzma-sdk-2006.yml", "html": "lzma-sdk-2006.html", "text": "lzma-sdk-2006.LICENSE" }, { "license_key": "lzma-sdk-2008", "spdx_license_key": "LicenseRef-scancode-lzma-sdk-2008", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lzma-sdk-2008.json", "yml": "lzma-sdk-2008.yml", "html": "lzma-sdk-2008.html", "text": "lzma-sdk-2008.LICENSE" }, { "license_key": "lzma-sdk-original", "spdx_license_key": "LicenseRef-scancode-lzma-sdk-original", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lzma-sdk-original.json", "yml": "lzma-sdk-original.yml", "html": "lzma-sdk-original.html", "text": "lzma-sdk-original.LICENSE" }, { "license_key": "lzma-sdk-pd", "spdx_license_key": "LicenseRef-scancode-lzma-sdk-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "lzma-sdk-pd.json", "yml": "lzma-sdk-pd.yml", "html": "lzma-sdk-pd.html", "text": "lzma-sdk-pd.LICENSE" }, { "license_key": "m-plus", "spdx_license_key": "LicenseRef-scancode-m-plus", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "m-plus.json", "yml": "m-plus.yml", "html": "m-plus.html", "text": "m-plus.LICENSE" }, { "license_key": "madwifi-dual", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "madwifi-dual.json", "yml": "madwifi-dual.yml", "html": "madwifi-dual.html", "text": "madwifi-dual.LICENSE" }, { "license_key": "magpie-exception-1.0", "spdx_license_key": "LicenseRef-scancode-magpie-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "magpie-exception-1.0.json", "yml": "magpie-exception-1.0.yml", "html": "magpie-exception-1.0.html", "text": "magpie-exception-1.0.LICENSE" }, { "license_key": "make-human-exception", "spdx_license_key": "LicenseRef-scancode-make-human-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "make-human-exception.json", "yml": "make-human-exception.yml", "html": "make-human-exception.html", "text": "make-human-exception.LICENSE" }, { "license_key": "makeindex", "spdx_license_key": "MakeIndex", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "makeindex.json", "yml": "makeindex.yml", "html": "makeindex.html", "text": "makeindex.LICENSE" }, { "license_key": "mame", "spdx_license_key": "LicenseRef-scancode-mame", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mame.json", "yml": "mame.yml", "html": "mame.html", "text": "mame.LICENSE" }, { "license_key": "manfred-klein-fonts-tos", "spdx_license_key": "LicenseRef-scancode-manfred-klein-fonts-tos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "manfred-klein-fonts-tos.json", "yml": "manfred-klein-fonts-tos.yml", "html": "manfred-klein-fonts-tos.html", "text": "manfred-klein-fonts-tos.LICENSE" }, { "license_key": "martin-birgmeier", "spdx_license_key": "LicenseRef-scancode-martin-birgmeier", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "martin-birgmeier.json", "yml": "martin-birgmeier.yml", "html": "martin-birgmeier.html", "text": "martin-birgmeier.LICENSE" }, { "license_key": "marvell-firmware", "spdx_license_key": "LicenseRef-scancode-marvell-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "marvell-firmware.json", "yml": "marvell-firmware.yml", "html": "marvell-firmware.html", "text": "marvell-firmware.LICENSE" }, { "license_key": "matt-gallagher-attribution", "spdx_license_key": "LicenseRef-scancode-matt-gallagher-attribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "matt-gallagher-attribution.json", "yml": "matt-gallagher-attribution.yml", "html": "matt-gallagher-attribution.html", "text": "matt-gallagher-attribution.LICENSE" }, { "license_key": "matthew-kwan", "spdx_license_key": "LicenseRef-scancode-matthew-kwan", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "matthew-kwan.json", "yml": "matthew-kwan.yml", "html": "matthew-kwan.html", "text": "matthew-kwan.LICENSE" }, { "license_key": "mattkruse", "spdx_license_key": "LicenseRef-scancode-mattkruse", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mattkruse.json", "yml": "mattkruse.yml", "html": "mattkruse.html", "text": "mattkruse.LICENSE" }, { "license_key": "maxmind-geolite2-eula-2019", "spdx_license_key": "LicenseRef-scancode-maxmind-geolite2-eula-2019", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "maxmind-geolite2-eula-2019.json", "yml": "maxmind-geolite2-eula-2019.yml", "html": "maxmind-geolite2-eula-2019.html", "text": "maxmind-geolite2-eula-2019.LICENSE" }, { "license_key": "maxmind-odl", "spdx_license_key": "LicenseRef-scancode-maxmind-odl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "maxmind-odl.json", "yml": "maxmind-odl.yml", "html": "maxmind-odl.html", "text": "maxmind-odl.LICENSE" }, { "license_key": "mcafee-tou", "spdx_license_key": "LicenseRef-scancode-mcafee-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mcafee-tou.json", "yml": "mcafee-tou.yml", "html": "mcafee-tou.html", "text": "mcafee-tou.LICENSE" }, { "license_key": "mcrae-pl-4-r53", "spdx_license_key": "LicenseRef-scancode-mcrae-pl-4-r53", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mcrae-pl-4-r53.json", "yml": "mcrae-pl-4-r53.yml", "html": "mcrae-pl-4-r53.html", "text": "mcrae-pl-4-r53.LICENSE" }, { "license_key": "mediainfo-lib", "spdx_license_key": "LicenseRef-scancode-mediainfo-lib", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mediainfo-lib.json", "yml": "mediainfo-lib.yml", "html": "mediainfo-lib.html", "text": "mediainfo-lib.LICENSE" }, { "license_key": "melange", "spdx_license_key": "LicenseRef-scancode-melange", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "melange.json", "yml": "melange.yml", "html": "melange.html", "text": "melange.LICENSE" }, { "license_key": "mentalis", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "mentalis.json", "yml": "mentalis.yml", "html": "mentalis.html", "text": "mentalis.LICENSE" }, { "license_key": "merit-network-derivative", "spdx_license_key": "LicenseRef-scancode-merit-network-derivative", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "merit-network-derivative.json", "yml": "merit-network-derivative.yml", "html": "merit-network-derivative.html", "text": "merit-network-derivative.LICENSE" }, { "license_key": "metageek-inssider-eula", "spdx_license_key": "LicenseRef-scancode-metageek-inssider-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "metageek-inssider-eula.json", "yml": "metageek-inssider-eula.yml", "html": "metageek-inssider-eula.html", "text": "metageek-inssider-eula.LICENSE" }, { "license_key": "metrolink-1.0", "spdx_license_key": "LicenseRef-scancode-metrolink-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "metrolink-1.0.json", "yml": "metrolink-1.0.yml", "html": "metrolink-1.0.html", "text": "metrolink-1.0.LICENSE" }, { "license_key": "mgopen-font-license", "spdx_license_key": "LicenseRef-scancode-mgopen-font-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mgopen-font-license.json", "yml": "mgopen-font-license.yml", "html": "mgopen-font-license.html", "text": "mgopen-font-license.LICENSE" }, { "license_key": "michael-barr", "spdx_license_key": "LicenseRef-scancode-michael-barr", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "michael-barr.json", "yml": "michael-barr.yml", "html": "michael-barr.html", "text": "michael-barr.LICENSE" }, { "license_key": "michigan-disclaimer", "spdx_license_key": "LicenseRef-scancode-michigan-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "michigan-disclaimer.json", "yml": "michigan-disclaimer.yml", "html": "michigan-disclaimer.html", "text": "michigan-disclaimer.LICENSE" }, { "license_key": "microsoft-enterprise-library-eula", "spdx_license_key": "LicenseRef-scancode-microsoft-enterprise-library-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "microsoft-enterprise-library-eula.json", "yml": "microsoft-enterprise-library-eula.yml", "html": "microsoft-enterprise-library-eula.html", "text": "microsoft-enterprise-library-eula.LICENSE" }, { "license_key": "microsoft-windows-rally-devkit", "spdx_license_key": "LicenseRef-scancode-microsoft-windows-rally-devkit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "microsoft-windows-rally-devkit.json", "yml": "microsoft-windows-rally-devkit.yml", "html": "microsoft-windows-rally-devkit.html", "text": "microsoft-windows-rally-devkit.LICENSE" }, { "license_key": "mif-exception", "spdx_license_key": "mif-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "mif-exception.json", "yml": "mif-exception.yml", "html": "mif-exception.html", "text": "mif-exception.LICENSE" }, { "license_key": "mike95", "spdx_license_key": "LicenseRef-scancode-mike95", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mike95.json", "yml": "mike95.yml", "html": "mike95.html", "text": "mike95.LICENSE" }, { "license_key": "minecraft-mod", "spdx_license_key": "LicenseRef-scancode-minecraft-mod", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "minecraft-mod.json", "yml": "minecraft-mod.yml", "html": "minecraft-mod.html", "text": "minecraft-mod.LICENSE" }, { "license_key": "mini-xml-exception-lgpl-2.0", "spdx_license_key": "LicenseRef-scancode-mini-xml-exception-lgpl-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "mini-xml-exception-lgpl-2.0.json", "yml": "mini-xml-exception-lgpl-2.0.yml", "html": "mini-xml-exception-lgpl-2.0.html", "text": "mini-xml-exception-lgpl-2.0.LICENSE" }, { "license_key": "mini-xml", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "mini-xml.json", "yml": "mini-xml.yml", "html": "mini-xml.html", "text": "mini-xml.LICENSE" }, { "license_key": "minpack", "spdx_license_key": "LicenseRef-scancode-minpack", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "minpack.json", "yml": "minpack.yml", "html": "minpack.html", "text": "minpack.LICENSE" }, { "license_key": "mir-os", "spdx_license_key": "MirOS", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mir-os.json", "yml": "mir-os.yml", "html": "mir-os.html", "text": "mir-os.LICENSE" }, { "license_key": "mit-0", "spdx_license_key": "MIT-0", "other_spdx_license_keys": [ "LicenseRef-scancode-ekioh" ], "is_exception": false, "is_deprecated": false, "json": "mit-0.json", "yml": "mit-0.yml", "html": "mit-0.html", "text": "mit-0.LICENSE" }, { "license_key": "mit-ack", "spdx_license_key": "MIT-feh", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-ack.json", "yml": "mit-ack.yml", "html": "mit-ack.html", "text": "mit-ack.LICENSE" }, { "license_key": "mit-addition", "spdx_license_key": "LicenseRef-scancode-mit-addition", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-addition.json", "yml": "mit-addition.yml", "html": "mit-addition.html", "text": "mit-addition.LICENSE" }, { "license_key": "mit-export-control", "spdx_license_key": "Xerox", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-export-control.json", "yml": "mit-export-control.yml", "html": "mit-export-control.html", "text": "mit-export-control.LICENSE" }, { "license_key": "mit-license-1998", "spdx_license_key": "LicenseRef-scancode-mit-license-1998", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-license-1998.json", "yml": "mit-license-1998.yml", "html": "mit-license-1998.html", "text": "mit-license-1998.LICENSE" }, { "license_key": "mit-modern", "spdx_license_key": "MIT-Modern-Variant", "other_spdx_license_keys": [ "LicenseRef-scancode-mit-modern" ], "is_exception": false, "is_deprecated": false, "json": "mit-modern.json", "yml": "mit-modern.yml", "html": "mit-modern.html", "text": "mit-modern.LICENSE" }, { "license_key": "mit-nagy", "spdx_license_key": "LicenseRef-scancode-mit-nagy", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-nagy.json", "yml": "mit-nagy.yml", "html": "mit-nagy.html", "text": "mit-nagy.LICENSE" }, { "license_key": "mit-no-advert-export-control", "spdx_license_key": "LicenseRef-scancode-mit-no-advert-export-control", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-no-advert-export-control.json", "yml": "mit-no-advert-export-control.yml", "html": "mit-no-advert-export-control.html", "text": "mit-no-advert-export-control.LICENSE" }, { "license_key": "mit-no-false-attribs", "spdx_license_key": "MITNFA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-no-false-attribs.json", "yml": "mit-no-false-attribs.yml", "html": "mit-no-false-attribs.html", "text": "mit-no-false-attribs.LICENSE" }, { "license_key": "mit-old-style-no-advert", "spdx_license_key": "NTP", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-old-style-no-advert.json", "yml": "mit-old-style-no-advert.yml", "html": "mit-old-style-no-advert.html", "text": "mit-old-style-no-advert.LICENSE" }, { "license_key": "mit-old-style-sparse", "spdx_license_key": "LicenseRef-scancode-mit-old-style-sparse", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-old-style-sparse.json", "yml": "mit-old-style-sparse.yml", "html": "mit-old-style-sparse.html", "text": "mit-old-style-sparse.LICENSE" }, { "license_key": "mit-old-style", "spdx_license_key": "LicenseRef-scancode-mit-old-style", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-old-style.json", "yml": "mit-old-style.yml", "html": "mit-old-style.html", "text": "mit-old-style.LICENSE" }, { "license_key": "mit-readme", "spdx_license_key": "LicenseRef-scancode-mit-readme", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-readme.json", "yml": "mit-readme.yml", "html": "mit-readme.html", "text": "mit-readme.LICENSE" }, { "license_key": "mit-specification-disclaimer", "spdx_license_key": "LicenseRef-scancode-mit-specification-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-specification-disclaimer.json", "yml": "mit-specification-disclaimer.yml", "html": "mit-specification-disclaimer.html", "text": "mit-specification-disclaimer.LICENSE" }, { "license_key": "mit-synopsys", "spdx_license_key": "LicenseRef-scancode-mit-synopsys", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-synopsys.json", "yml": "mit-synopsys.yml", "html": "mit-synopsys.html", "text": "mit-synopsys.LICENSE" }, { "license_key": "mit-taylor-variant", "spdx_license_key": "LicenseRef-scancode-mit-taylor-variant", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-taylor-variant.json", "yml": "mit-taylor-variant.yml", "html": "mit-taylor-variant.html", "text": "mit-taylor-variant.LICENSE" }, { "license_key": "mit-veillard-variant", "spdx_license_key": "LicenseRef-scancode-mit-veillard-variant", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-veillard-variant.json", "yml": "mit-veillard-variant.yml", "html": "mit-veillard-variant.html", "text": "mit-veillard-variant.LICENSE" }, { "license_key": "mit-with-modification-obligations", "spdx_license_key": "LicenseRef-scancode-mit-with-modification-obligations", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-with-modification-obligations.json", "yml": "mit-with-modification-obligations.yml", "html": "mit-with-modification-obligations.html", "text": "mit-with-modification-obligations.LICENSE" }, { "license_key": "mit-xfig", "spdx_license_key": "LicenseRef-scancode-mit-xfig", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit-xfig.json", "yml": "mit-xfig.yml", "html": "mit-xfig.html", "text": "mit-xfig.LICENSE" }, { "license_key": "mit", "spdx_license_key": "MIT", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mit.json", "yml": "mit.yml", "html": "mit.html", "text": "mit.LICENSE" }, { "license_key": "mod-dav-1.0", "spdx_license_key": "LicenseRef-scancode-mod-dav-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mod-dav-1.0.json", "yml": "mod-dav-1.0.yml", "html": "mod-dav-1.0.html", "text": "mod-dav-1.0.LICENSE" }, { "license_key": "monetdb-1.1", "spdx_license_key": "LicenseRef-scancode-monetdb-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "monetdb-1.1.json", "yml": "monetdb-1.1.yml", "html": "monetdb-1.1.html", "text": "monetdb-1.1.LICENSE" }, { "license_key": "mongodb-sspl-1.0", "spdx_license_key": "SSPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mongodb-sspl-1.0.json", "yml": "mongodb-sspl-1.0.yml", "html": "mongodb-sspl-1.0.html", "text": "mongodb-sspl-1.0.LICENSE" }, { "license_key": "motorola", "spdx_license_key": "LicenseRef-scancode-motorola", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "motorola.json", "yml": "motorola.yml", "html": "motorola.html", "text": "motorola.LICENSE" }, { "license_key": "motosoto-0.9.1", "spdx_license_key": "Motosoto", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "motosoto-0.9.1.json", "yml": "motosoto-0.9.1.yml", "html": "motosoto-0.9.1.html", "text": "motosoto-0.9.1.LICENSE" }, { "license_key": "mozilla-gc", "spdx_license_key": "LicenseRef-scancode-mozilla-gc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mozilla-gc.json", "yml": "mozilla-gc.yml", "html": "mozilla-gc.html", "text": "mozilla-gc.LICENSE" }, { "license_key": "mozilla-ospl-1.0", "spdx_license_key": "LicenseRef-scancode-mozilla-ospl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mozilla-ospl-1.0.json", "yml": "mozilla-ospl-1.0.yml", "html": "mozilla-ospl-1.0.html", "text": "mozilla-ospl-1.0.LICENSE" }, { "license_key": "mpeg-7", "spdx_license_key": "LicenseRef-scancode-mpeg-7", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpeg-7.json", "yml": "mpeg-7.yml", "html": "mpeg-7.html", "text": "mpeg-7.LICENSE" }, { "license_key": "mpeg-iso", "spdx_license_key": "LicenseRef-scancode-mpeg-iso", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpeg-iso.json", "yml": "mpeg-iso.yml", "html": "mpeg-iso.html", "text": "mpeg-iso.LICENSE" }, { "license_key": "mpeg-ssg", "spdx_license_key": "LicenseRef-scancode-mpeg-ssg", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpeg-ssg.json", "yml": "mpeg-ssg.yml", "html": "mpeg-ssg.html", "text": "mpeg-ssg.LICENSE" }, { "license_key": "mpich", "spdx_license_key": "mpich2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpich.json", "yml": "mpich.yml", "html": "mpich.html", "text": "mpich.LICENSE" }, { "license_key": "mpl-1.0", "spdx_license_key": "MPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpl-1.0.json", "yml": "mpl-1.0.yml", "html": "mpl-1.0.html", "text": "mpl-1.0.LICENSE" }, { "license_key": "mpl-1.1", "spdx_license_key": "MPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpl-1.1.json", "yml": "mpl-1.1.yml", "html": "mpl-1.1.html", "text": "mpl-1.1.LICENSE" }, { "license_key": "mpl-2.0-no-copyleft-exception", "spdx_license_key": "MPL-2.0-no-copyleft-exception", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpl-2.0-no-copyleft-exception.json", "yml": "mpl-2.0-no-copyleft-exception.yml", "html": "mpl-2.0-no-copyleft-exception.html", "text": "mpl-2.0-no-copyleft-exception.LICENSE" }, { "license_key": "mpl-2.0", "spdx_license_key": "MPL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mpl-2.0.json", "yml": "mpl-2.0.yml", "html": "mpl-2.0.html", "text": "mpl-2.0.LICENSE" }, { "license_key": "ms-asp-net-ajax-supplemental-terms", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-ajax-supplemental-terms", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-ajax-supplemental-terms.json", "yml": "ms-asp-net-ajax-supplemental-terms.yml", "html": "ms-asp-net-ajax-supplemental-terms.html", "text": "ms-asp-net-ajax-supplemental-terms.LICENSE" }, { "license_key": "ms-asp-net-mvc3", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-mvc3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-mvc3.json", "yml": "ms-asp-net-mvc3.yml", "html": "ms-asp-net-mvc3.html", "text": "ms-asp-net-mvc3.LICENSE" }, { "license_key": "ms-asp-net-mvc4-extensions", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-mvc4-extensions", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-mvc4-extensions.json", "yml": "ms-asp-net-mvc4-extensions.yml", "html": "ms-asp-net-mvc4-extensions.html", "text": "ms-asp-net-mvc4-extensions.LICENSE" }, { "license_key": "ms-asp-net-mvc4", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-mvc4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-mvc4.json", "yml": "ms-asp-net-mvc4.yml", "html": "ms-asp-net-mvc4.html", "text": "ms-asp-net-mvc4.LICENSE" }, { "license_key": "ms-asp-net-software", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-software", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-software.json", "yml": "ms-asp-net-software.yml", "html": "ms-asp-net-software.html", "text": "ms-asp-net-software.LICENSE" }, { "license_key": "ms-asp-net-tools-pre-release", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-tools-pre-release", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-tools-pre-release.json", "yml": "ms-asp-net-tools-pre-release.yml", "html": "ms-asp-net-tools-pre-release.html", "text": "ms-asp-net-tools-pre-release.LICENSE" }, { "license_key": "ms-asp-net-web-optimization-framework", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-web-optimization-framework", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-web-optimization-framework.json", "yml": "ms-asp-net-web-optimization-framework.yml", "html": "ms-asp-net-web-optimization-framework.html", "text": "ms-asp-net-web-optimization-framework.LICENSE" }, { "license_key": "ms-asp-net-web-pages-2", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-web-pages-2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-web-pages-2.json", "yml": "ms-asp-net-web-pages-2.yml", "html": "ms-asp-net-web-pages-2.html", "text": "ms-asp-net-web-pages-2.LICENSE" }, { "license_key": "ms-asp-net-web-pages-templates", "spdx_license_key": "LicenseRef-scancode-ms-asp-net-web-pages-templates", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-asp-net-web-pages-templates.json", "yml": "ms-asp-net-web-pages-templates.yml", "html": "ms-asp-net-web-pages-templates.html", "text": "ms-asp-net-web-pages-templates.LICENSE" }, { "license_key": "ms-azure-data-studio", "spdx_license_key": "LicenseRef-scancode-ms-azure-data-studio", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-azure-data-studio.json", "yml": "ms-azure-data-studio.yml", "html": "ms-azure-data-studio.html", "text": "ms-azure-data-studio.LICENSE" }, { "license_key": "ms-capicom", "spdx_license_key": "LicenseRef-scancode-ms-capicom", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-capicom.json", "yml": "ms-capicom.yml", "html": "ms-capicom.html", "text": "ms-capicom.LICENSE" }, { "license_key": "ms-cl", "spdx_license_key": "LicenseRef-scancode-ms-cl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-cl.json", "yml": "ms-cl.yml", "html": "ms-cl.html", "text": "ms-cl.LICENSE" }, { "license_key": "ms-control-spy-2.0", "spdx_license_key": "LicenseRef-scancode-ms-control-spy-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-control-spy-2.0.json", "yml": "ms-control-spy-2.0.yml", "html": "ms-control-spy-2.0.html", "text": "ms-control-spy-2.0.LICENSE" }, { "license_key": "ms-developer-services-agreement-2018-06", "spdx_license_key": "LicenseRef-scancode-ms-developer-services-agreement-2018-06", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-developer-services-agreement-2018-06.json", "yml": "ms-developer-services-agreement-2018-06.yml", "html": "ms-developer-services-agreement-2018-06.html", "text": "ms-developer-services-agreement-2018-06.LICENSE" }, { "license_key": "ms-developer-services-agreement", "spdx_license_key": "LicenseRef-scancode-ms-developer-services-agreement", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-developer-services-agreement.json", "yml": "ms-developer-services-agreement.yml", "html": "ms-developer-services-agreement.html", "text": "ms-developer-services-agreement.LICENSE" }, { "license_key": "ms-device-emulator-3.0", "spdx_license_key": "LicenseRef-scancode-ms-device-emulator-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-device-emulator-3.0.json", "yml": "ms-device-emulator-3.0.yml", "html": "ms-device-emulator-3.0.html", "text": "ms-device-emulator-3.0.LICENSE" }, { "license_key": "ms-directx-sdk-eula", "spdx_license_key": "LicenseRef-scancode-ms-directx-sdk-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-directx-sdk-eula.json", "yml": "ms-directx-sdk-eula.yml", "html": "ms-directx-sdk-eula.html", "text": "ms-directx-sdk-eula.LICENSE" }, { "license_key": "ms-entity-framework-4.1", "spdx_license_key": "LicenseRef-scancode-ms-entity-framework-4.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-entity-framework-4.1.json", "yml": "ms-entity-framework-4.1.yml", "html": "ms-entity-framework-4.1.html", "text": "ms-entity-framework-4.1.LICENSE" }, { "license_key": "ms-entity-framework-5", "spdx_license_key": "LicenseRef-scancode-ms-entity-framework-5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-entity-framework-5.json", "yml": "ms-entity-framework-5.yml", "html": "ms-entity-framework-5.html", "text": "ms-entity-framework-5.LICENSE" }, { "license_key": "ms-eula-win-script-host", "spdx_license_key": "LicenseRef-scancode-ms-eula-win-script-host", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-eula-win-script-host.json", "yml": "ms-eula-win-script-host.yml", "html": "ms-eula-win-script-host.html", "text": "ms-eula-win-script-host.LICENSE" }, { "license_key": "ms-exchange-server-2010-sp2-sdk", "spdx_license_key": "LicenseRef-scancode-ms-exchange-server-2010-sp2-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-exchange-server-2010-sp2-sdk.json", "yml": "ms-exchange-server-2010-sp2-sdk.yml", "html": "ms-exchange-server-2010-sp2-sdk.html", "text": "ms-exchange-server-2010-sp2-sdk.LICENSE" }, { "license_key": "ms-iis-container-images-eula-2020", "spdx_license_key": "LicenseRef-scancode-ms-iis-container-images-eula-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-iis-container-images-eula-2020.json", "yml": "ms-iis-container-images-eula-2020.yml", "html": "ms-iis-container-images-eula-2020.html", "text": "ms-iis-container-images-eula-2020.LICENSE" }, { "license_key": "ms-ilmerge", "spdx_license_key": "LicenseRef-scancode-ms-ilmerge", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-ilmerge.json", "yml": "ms-ilmerge.yml", "html": "ms-ilmerge.html", "text": "ms-ilmerge.LICENSE" }, { "license_key": "ms-invisible-eula-1.0", "spdx_license_key": "LicenseRef-scancode-ms-invisible-eula-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-invisible-eula-1.0.json", "yml": "ms-invisible-eula-1.0.yml", "html": "ms-invisible-eula-1.0.html", "text": "ms-invisible-eula-1.0.LICENSE" }, { "license_key": "ms-jdbc-driver-40-sql-server", "spdx_license_key": "LicenseRef-scancode-ms-jdbc-driver-40-sql-server", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-jdbc-driver-40-sql-server.json", "yml": "ms-jdbc-driver-40-sql-server.yml", "html": "ms-jdbc-driver-40-sql-server.html", "text": "ms-jdbc-driver-40-sql-server.LICENSE" }, { "license_key": "ms-jdbc-driver-41-sql-server", "spdx_license_key": "LicenseRef-scancode-ms-jdbc-driver-41-sql-server", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-jdbc-driver-41-sql-server.json", "yml": "ms-jdbc-driver-41-sql-server.yml", "html": "ms-jdbc-driver-41-sql-server.html", "text": "ms-jdbc-driver-41-sql-server.LICENSE" }, { "license_key": "ms-jdbc-driver-60-sql-server", "spdx_license_key": "LicenseRef-scancode-ms-jdbc-driver-60-sql-server", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-jdbc-driver-60-sql-server.json", "yml": "ms-jdbc-driver-60-sql-server.yml", "html": "ms-jdbc-driver-60-sql-server.html", "text": "ms-jdbc-driver-60-sql-server.LICENSE" }, { "license_key": "ms-kinext-win-sdk", "spdx_license_key": "LicenseRef-scancode-ms-kinext-win-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-kinext-win-sdk.json", "yml": "ms-kinext-win-sdk.yml", "html": "ms-kinext-win-sdk.html", "text": "ms-kinext-win-sdk.LICENSE" }, { "license_key": "ms-limited-community", "spdx_license_key": "LicenseRef-scancode-ms-limited-community", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-limited-community.json", "yml": "ms-limited-community.yml", "html": "ms-limited-community.html", "text": "ms-limited-community.LICENSE" }, { "license_key": "ms-limited-public", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ms-limited-public.json", "yml": "ms-limited-public.yml", "html": "ms-limited-public.html", "text": "ms-limited-public.LICENSE" }, { "license_key": "ms-lpl", "spdx_license_key": "LicenseRef-scancode-ms-lpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-lpl.json", "yml": "ms-lpl.yml", "html": "ms-lpl.html", "text": "ms-lpl.LICENSE" }, { "license_key": "ms-msn-webgrease", "spdx_license_key": "LicenseRef-scancode-ms-msn-webgrease", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-msn-webgrease.json", "yml": "ms-msn-webgrease.yml", "html": "ms-msn-webgrease.html", "text": "ms-msn-webgrease.LICENSE" }, { "license_key": "ms-net-framework-4-supplemental-terms", "spdx_license_key": "LicenseRef-scancode-ms-net-framework-4-supplemental-terms", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-framework-4-supplemental-terms.json", "yml": "ms-net-framework-4-supplemental-terms.yml", "html": "ms-net-framework-4-supplemental-terms.html", "text": "ms-net-framework-4-supplemental-terms.LICENSE" }, { "license_key": "ms-net-framework-deployment", "spdx_license_key": "LicenseRef-scancode-ms-net-framework-deployment", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-framework-deployment.json", "yml": "ms-net-framework-deployment.yml", "html": "ms-net-framework-deployment.html", "text": "ms-net-framework-deployment.LICENSE" }, { "license_key": "ms-net-library-2018-11", "spdx_license_key": "LicenseRef-scancode-ms-net-library-2018-11", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-library-2018-11.json", "yml": "ms-net-library-2018-11.yml", "html": "ms-net-library-2018-11.html", "text": "ms-net-library-2018-11.LICENSE" }, { "license_key": "ms-net-library-2019-06", "spdx_license_key": "LicenseRef-scancode-ms-net-library-2019-06", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-library-2019-06.json", "yml": "ms-net-library-2019-06.yml", "html": "ms-net-library-2019-06.html", "text": "ms-net-library-2019-06.LICENSE" }, { "license_key": "ms-net-library-2020-09", "spdx_license_key": "LicenseRef-scancode-ms-net-library-2020-09", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-library-2020-09.json", "yml": "ms-net-library-2020-09.yml", "html": "ms-net-library-2020-09.html", "text": "ms-net-library-2020-09.LICENSE" }, { "license_key": "ms-net-library", "spdx_license_key": "LicenseRef-scancode-ms-net-library", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-net-library.json", "yml": "ms-net-library.yml", "html": "ms-net-library.html", "text": "ms-net-library.LICENSE" }, { "license_key": "ms-nt-resource-kit", "spdx_license_key": "LicenseRef-scancode-ms-nt-resource-kit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-nt-resource-kit.json", "yml": "ms-nt-resource-kit.yml", "html": "ms-nt-resource-kit.html", "text": "ms-nt-resource-kit.LICENSE" }, { "license_key": "ms-nuget-package-manager", "spdx_license_key": "LicenseRef-scancode-ms-nuget-package-manager", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-nuget-package-manager.json", "yml": "ms-nuget-package-manager.yml", "html": "ms-nuget-package-manager.html", "text": "ms-nuget-package-manager.LICENSE" }, { "license_key": "ms-nuget", "spdx_license_key": "LicenseRef-scancode-ms-nuget", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-nuget.json", "yml": "ms-nuget.yml", "html": "ms-nuget.html", "text": "ms-nuget.LICENSE" }, { "license_key": "ms-office-system-programs-eula", "spdx_license_key": "LicenseRef-scancode-ms-office-system-programs-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-office-system-programs-eula.json", "yml": "ms-office-system-programs-eula.yml", "html": "ms-office-system-programs-eula.html", "text": "ms-office-system-programs-eula.LICENSE" }, { "license_key": "ms-patent-promise", "spdx_license_key": "LicenseRef-scancode-ms-patent-promise", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-patent-promise.json", "yml": "ms-patent-promise.yml", "html": "ms-patent-promise.html", "text": "ms-patent-promise.LICENSE" }, { "license_key": "ms-permissive-1.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ms-permissive-1.1.json", "yml": "ms-permissive-1.1.yml", "html": "ms-permissive-1.1.html", "text": "ms-permissive-1.1.LICENSE" }, { "license_key": "ms-pl", "spdx_license_key": "MS-PL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-pl.json", "yml": "ms-pl.yml", "html": "ms-pl.html", "text": "ms-pl.LICENSE" }, { "license_key": "ms-platform-sdk", "spdx_license_key": "LicenseRef-scancode-ms-platform-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-platform-sdk.json", "yml": "ms-platform-sdk.yml", "html": "ms-platform-sdk.html", "text": "ms-platform-sdk.LICENSE" }, { "license_key": "ms-reactive-extensions-eula", "spdx_license_key": "LicenseRef-scancode-ms-reactive-extensions-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-reactive-extensions-eula.json", "yml": "ms-reactive-extensions-eula.yml", "html": "ms-reactive-extensions-eula.html", "text": "ms-reactive-extensions-eula.LICENSE" }, { "license_key": "ms-refl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ms-refl.json", "yml": "ms-refl.yml", "html": "ms-refl.html", "text": "ms-refl.LICENSE" }, { "license_key": "ms-remote-ndis-usb-kit", "spdx_license_key": "LicenseRef-scancode-ms-remote-ndis-usb-kit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-remote-ndis-usb-kit.json", "yml": "ms-remote-ndis-usb-kit.yml", "html": "ms-remote-ndis-usb-kit.html", "text": "ms-remote-ndis-usb-kit.LICENSE" }, { "license_key": "ms-research-shared-source", "spdx_license_key": "LicenseRef-scancode-ms-research-shared-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-research-shared-source.json", "yml": "ms-research-shared-source.yml", "html": "ms-research-shared-source.html", "text": "ms-research-shared-source.LICENSE" }, { "license_key": "ms-rl", "spdx_license_key": "MS-RL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-rl.json", "yml": "ms-rl.yml", "html": "ms-rl.html", "text": "ms-rl.LICENSE" }, { "license_key": "ms-rsl", "spdx_license_key": "LicenseRef-scancode-ms-rsl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-rsl.json", "yml": "ms-rsl.yml", "html": "ms-rsl.html", "text": "ms-rsl.LICENSE" }, { "license_key": "ms-silverlight-3", "spdx_license_key": "LicenseRef-scancode-ms-silverlight-3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-silverlight-3.json", "yml": "ms-silverlight-3.yml", "html": "ms-silverlight-3.html", "text": "ms-silverlight-3.LICENSE" }, { "license_key": "ms-sql-server-compact-4.0", "spdx_license_key": "LicenseRef-scancode-ms-sql-server-compact-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-sql-server-compact-4.0.json", "yml": "ms-sql-server-compact-4.0.yml", "html": "ms-sql-server-compact-4.0.html", "text": "ms-sql-server-compact-4.0.LICENSE" }, { "license_key": "ms-sql-server-data-tools", "spdx_license_key": "LicenseRef-scancode-ms-sql-server-data-tools", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-sql-server-data-tools.json", "yml": "ms-sql-server-data-tools.yml", "html": "ms-sql-server-data-tools.html", "text": "ms-sql-server-data-tools.LICENSE" }, { "license_key": "ms-sspl", "spdx_license_key": "LicenseRef-scancode-ms-sspl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-sspl.json", "yml": "ms-sspl.yml", "html": "ms-sspl.html", "text": "ms-sspl.LICENSE" }, { "license_key": "ms-sysinternals-sla", "spdx_license_key": "LicenseRef-scancode-ms-sysinternals-sla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-sysinternals-sla.json", "yml": "ms-sysinternals-sla.yml", "html": "ms-sysinternals-sla.html", "text": "ms-sysinternals-sla.LICENSE" }, { "license_key": "ms-ttf-eula", "spdx_license_key": "LicenseRef-scancode-ms-ttf-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-ttf-eula.json", "yml": "ms-ttf-eula.yml", "html": "ms-ttf-eula.html", "text": "ms-ttf-eula.LICENSE" }, { "license_key": "ms-visual-2008-runtime", "spdx_license_key": "LicenseRef-scancode-ms-visual-2008-runtime", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-2008-runtime.json", "yml": "ms-visual-2008-runtime.yml", "html": "ms-visual-2008-runtime.html", "text": "ms-visual-2008-runtime.LICENSE" }, { "license_key": "ms-visual-2010-runtime", "spdx_license_key": "LicenseRef-scancode-ms-visual-2010-runtime", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-2010-runtime.json", "yml": "ms-visual-2010-runtime.yml", "html": "ms-visual-2010-runtime.html", "text": "ms-visual-2010-runtime.LICENSE" }, { "license_key": "ms-visual-2015-sdk", "spdx_license_key": "LicenseRef-scancode-ms-visual-2015-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-2015-sdk.json", "yml": "ms-visual-2015-sdk.yml", "html": "ms-visual-2015-sdk.html", "text": "ms-visual-2015-sdk.LICENSE" }, { "license_key": "ms-visual-studio-2017-tools", "spdx_license_key": "LicenseRef-scancode-ms-visual-studio-2017-tools", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-studio-2017-tools.json", "yml": "ms-visual-studio-2017-tools.yml", "html": "ms-visual-studio-2017-tools.html", "text": "ms-visual-studio-2017-tools.LICENSE" }, { "license_key": "ms-visual-studio-2017", "spdx_license_key": "LicenseRef-scancode-ms-visual-studio-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-studio-2017.json", "yml": "ms-visual-studio-2017.yml", "html": "ms-visual-studio-2017.html", "text": "ms-visual-studio-2017.LICENSE" }, { "license_key": "ms-visual-studio-code", "spdx_license_key": "LicenseRef-scancode-ms-visual-studio-code", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-visual-studio-code.json", "yml": "ms-visual-studio-code.yml", "html": "ms-visual-studio-code.html", "text": "ms-visual-studio-code.LICENSE" }, { "license_key": "ms-web-developer-tools-1.0", "spdx_license_key": "LicenseRef-scancode-ms-web-developer-tools-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-web-developer-tools-1.0.json", "yml": "ms-web-developer-tools-1.0.yml", "html": "ms-web-developer-tools-1.0.html", "text": "ms-web-developer-tools-1.0.LICENSE" }, { "license_key": "ms-windows-container-base-image-eula-2020", "spdx_license_key": "LicenseRef-scancode-ms-windows-container-base-image-eula-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-container-base-image-eula-2020.json", "yml": "ms-windows-container-base-image-eula-2020.yml", "html": "ms-windows-container-base-image-eula-2020.html", "text": "ms-windows-container-base-image-eula-2020.LICENSE" }, { "license_key": "ms-windows-driver-kit", "spdx_license_key": "LicenseRef-scancode-ms-windows-driver-kit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-driver-kit.json", "yml": "ms-windows-driver-kit.yml", "html": "ms-windows-driver-kit.html", "text": "ms-windows-driver-kit.LICENSE" }, { "license_key": "ms-windows-identity-foundation", "spdx_license_key": "LicenseRef-scancode-ms-windows-identity-foundation", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-identity-foundation.json", "yml": "ms-windows-identity-foundation.yml", "html": "ms-windows-identity-foundation.html", "text": "ms-windows-identity-foundation.LICENSE" }, { "license_key": "ms-windows-sdk-server-2008-net-3.5", "spdx_license_key": "LicenseRef-scancode-ms-windows-sdk-server-2008-net-3.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-sdk-server-2008-net-3.5.json", "yml": "ms-windows-sdk-server-2008-net-3.5.yml", "html": "ms-windows-sdk-server-2008-net-3.5.html", "text": "ms-windows-sdk-server-2008-net-3.5.LICENSE" }, { "license_key": "ms-windows-sdk-win7-net-4", "spdx_license_key": "LicenseRef-scancode-ms-windows-sdk-win7-net-4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-sdk-win7-net-4.json", "yml": "ms-windows-sdk-win7-net-4.yml", "html": "ms-windows-sdk-win7-net-4.html", "text": "ms-windows-sdk-win7-net-4.LICENSE" }, { "license_key": "ms-windows-server-2003-ddk", "spdx_license_key": "LicenseRef-scancode-ms-windows-server-2003-ddk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-server-2003-ddk.json", "yml": "ms-windows-server-2003-ddk.yml", "html": "ms-windows-server-2003-ddk.html", "text": "ms-windows-server-2003-ddk.LICENSE" }, { "license_key": "ms-windows-server-2003-sdk", "spdx_license_key": "LicenseRef-scancode-ms-windows-server-2003-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-windows-server-2003-sdk.json", "yml": "ms-windows-server-2003-sdk.yml", "html": "ms-windows-server-2003-sdk.html", "text": "ms-windows-server-2003-sdk.LICENSE" }, { "license_key": "ms-ws-routing-spec", "spdx_license_key": "LicenseRef-scancode-ms-ws-routing-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-ws-routing-spec.json", "yml": "ms-ws-routing-spec.yml", "html": "ms-ws-routing-spec.html", "text": "ms-ws-routing-spec.LICENSE" }, { "license_key": "ms-xml-core-4.0", "spdx_license_key": "LicenseRef-scancode-ms-xml-core-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ms-xml-core-4.0.json", "yml": "ms-xml-core-4.0.yml", "html": "ms-xml-core-4.0.html", "text": "ms-xml-core-4.0.LICENSE" }, { "license_key": "msj-sample-code", "spdx_license_key": "LicenseRef-scancode-msj-sample-code", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "msj-sample-code.json", "yml": "msj-sample-code.yml", "html": "msj-sample-code.html", "text": "msj-sample-code.LICENSE" }, { "license_key": "msntp", "spdx_license_key": "LicenseRef-scancode-msntp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "msntp.json", "yml": "msntp.yml", "html": "msntp.html", "text": "msntp.LICENSE" }, { "license_key": "msppl", "spdx_license_key": "LicenseRef-scancode-msppl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "msppl.json", "yml": "msppl.yml", "html": "msppl.html", "text": "msppl.LICENSE" }, { "license_key": "mtll", "spdx_license_key": "MTLL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mtll.json", "yml": "mtll.yml", "html": "mtll.html", "text": "mtll.LICENSE" }, { "license_key": "mtx-licensing-statement", "spdx_license_key": "LicenseRef-scancode-mtx-licensing-statement", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mtx-licensing-statement.json", "yml": "mtx-licensing-statement.yml", "html": "mtx-licensing-statement.html", "text": "mtx-licensing-statement.LICENSE" }, { "license_key": "mulanpsl-1.0-en", "spdx_license_key": "LicenseRef-scancode-mulanpsl-1.0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mulanpsl-1.0-en.json", "yml": "mulanpsl-1.0-en.yml", "html": "mulanpsl-1.0-en.html", "text": "mulanpsl-1.0-en.LICENSE" }, { "license_key": "mulanpsl-1.0", "spdx_license_key": "MulanPSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mulanpsl-1.0.json", "yml": "mulanpsl-1.0.yml", "html": "mulanpsl-1.0.html", "text": "mulanpsl-1.0.LICENSE" }, { "license_key": "mulanpsl-2.0-en", "spdx_license_key": "LicenseRef-scancode-mulanpsl-2.0-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mulanpsl-2.0-en.json", "yml": "mulanpsl-2.0-en.yml", "html": "mulanpsl-2.0-en.html", "text": "mulanpsl-2.0-en.LICENSE" }, { "license_key": "mulanpsl-2.0", "spdx_license_key": "MulanPSL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mulanpsl-2.0.json", "yml": "mulanpsl-2.0.yml", "html": "mulanpsl-2.0.html", "text": "mulanpsl-2.0.LICENSE" }, { "license_key": "mule-source-1.1.3", "spdx_license_key": "LicenseRef-scancode-mule-source-1.1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mule-source-1.1.3.json", "yml": "mule-source-1.1.3.yml", "html": "mule-source-1.1.3.html", "text": "mule-source-1.1.3.LICENSE" }, { "license_key": "mule-source-1.1.4", "spdx_license_key": "LicenseRef-scancode-mule-source-1.1.4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mule-source-1.1.4.json", "yml": "mule-source-1.1.4.yml", "html": "mule-source-1.1.4.html", "text": "mule-source-1.1.4.LICENSE" }, { "license_key": "mulle-kybernetik", "spdx_license_key": "LicenseRef-scancode-mulle-kybernetik", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mulle-kybernetik.json", "yml": "mulle-kybernetik.yml", "html": "mulle-kybernetik.html", "text": "mulle-kybernetik.LICENSE" }, { "license_key": "multics", "spdx_license_key": "Multics", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "multics.json", "yml": "multics.yml", "html": "multics.html", "text": "multics.LICENSE" }, { "license_key": "mup", "spdx_license_key": "Mup", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mup.json", "yml": "mup.yml", "html": "mup.html", "text": "mup.LICENSE" }, { "license_key": "musl-exception", "spdx_license_key": "LicenseRef-scancode-musl-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "musl-exception.json", "yml": "musl-exception.yml", "html": "musl-exception.html", "text": "musl-exception.LICENSE" }, { "license_key": "mx4j", "spdx_license_key": "LicenseRef-scancode-mx4j", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "mx4j.json", "yml": "mx4j.yml", "html": "mx4j.html", "text": "mx4j.LICENSE" }, { "license_key": "mysql-connector-odbc-exception-2.0", "spdx_license_key": "LicenseRef-scancode-mysql-connector-odbc-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "mysql-connector-odbc-exception-2.0.json", "yml": "mysql-connector-odbc-exception-2.0.yml", "html": "mysql-connector-odbc-exception-2.0.html", "text": "mysql-connector-odbc-exception-2.0.LICENSE" }, { "license_key": "mysql-floss-exception-2.0", "spdx_license_key": "LicenseRef-scancode-mysql-floss-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "mysql-floss-exception-2.0.json", "yml": "mysql-floss-exception-2.0.yml", "html": "mysql-floss-exception-2.0.html", "text": "mysql-floss-exception-2.0.LICENSE" }, { "license_key": "mysql-linking-exception-2018", "spdx_license_key": "LicenseRef-scancode-mysql-linking-exception-2018", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "mysql-linking-exception-2018.json", "yml": "mysql-linking-exception-2018.yml", "html": "mysql-linking-exception-2018.html", "text": "mysql-linking-exception-2018.LICENSE" }, { "license_key": "naist-2003", "spdx_license_key": "NAIST-2003", "other_spdx_license_keys": [ "LicenseRef-scancode-naist-2003" ], "is_exception": false, "is_deprecated": false, "json": "naist-2003.json", "yml": "naist-2003.yml", "html": "naist-2003.html", "text": "naist-2003.LICENSE" }, { "license_key": "nant-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-nant-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "nant-exception-2.0-plus.json", "yml": "nant-exception-2.0-plus.yml", "html": "nant-exception-2.0-plus.html", "text": "nant-exception-2.0-plus.LICENSE" }, { "license_key": "nasa-1.3", "spdx_license_key": "NASA-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nasa-1.3.json", "yml": "nasa-1.3.yml", "html": "nasa-1.3.html", "text": "nasa-1.3.LICENSE" }, { "license_key": "naughter", "spdx_license_key": "LicenseRef-scancode-naughter", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "naughter.json", "yml": "naughter.yml", "html": "naughter.html", "text": "naughter.LICENSE" }, { "license_key": "naumen", "spdx_license_key": "Naumen", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "naumen.json", "yml": "naumen.yml", "html": "naumen.html", "text": "naumen.LICENSE" }, { "license_key": "nbpl-1.0", "spdx_license_key": "NBPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nbpl-1.0.json", "yml": "nbpl-1.0.yml", "html": "nbpl-1.0.html", "text": "nbpl-1.0.LICENSE" }, { "license_key": "ncgl-uk-2.0", "spdx_license_key": "NCGL-UK-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ncgl-uk-2.0.json", "yml": "ncgl-uk-2.0.yml", "html": "ncgl-uk-2.0.html", "text": "ncgl-uk-2.0.LICENSE" }, { "license_key": "nero-eula", "spdx_license_key": "LicenseRef-scancode-nero-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nero-eula.json", "yml": "nero-eula.yml", "html": "nero-eula.html", "text": "nero-eula.LICENSE" }, { "license_key": "net-snmp", "spdx_license_key": "Net-SNMP", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "net-snmp.json", "yml": "net-snmp.yml", "html": "net-snmp.html", "text": "net-snmp.LICENSE" }, { "license_key": "netapp-sdk-aug2020", "spdx_license_key": "LicenseRef-scancode-netapp-sdk-aug2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "netapp-sdk-aug2020.json", "yml": "netapp-sdk-aug2020.yml", "html": "netapp-sdk-aug2020.html", "text": "netapp-sdk-aug2020.LICENSE" }, { "license_key": "netcat", "spdx_license_key": "LicenseRef-scancode-netcat", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "netcat.json", "yml": "netcat.yml", "html": "netcat.html", "text": "netcat.LICENSE" }, { "license_key": "netcdf", "spdx_license_key": "NetCDF", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "netcdf.json", "yml": "netcdf.yml", "html": "netcdf.html", "text": "netcdf.LICENSE" }, { "license_key": "netcomponents", "spdx_license_key": "LicenseRef-scancode-netcomponents", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "netcomponents.json", "yml": "netcomponents.yml", "html": "netcomponents.html", "text": "netcomponents.LICENSE" }, { "license_key": "netron", "spdx_license_key": "LicenseRef-scancode-netron", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "netron.json", "yml": "netron.yml", "html": "netron.html", "text": "netron.LICENSE" }, { "license_key": "network-time-protocol", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "network-time-protocol.json", "yml": "network-time-protocol.yml", "html": "network-time-protocol.html", "text": "network-time-protocol.LICENSE" }, { "license_key": "new-relic", "spdx_license_key": "LicenseRef-scancode-new-relic", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "new-relic.json", "yml": "new-relic.yml", "html": "new-relic.html", "text": "new-relic.LICENSE" }, { "license_key": "newlib-historical", "spdx_license_key": "LicenseRef-scancode-newlib-historical", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "newlib-historical.json", "yml": "newlib-historical.yml", "html": "newlib-historical.html", "text": "newlib-historical.LICENSE" }, { "license_key": "newran", "spdx_license_key": "LicenseRef-scancode-newran", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "newran.json", "yml": "newran.yml", "html": "newran.html", "text": "newran.LICENSE" }, { "license_key": "newsletr", "spdx_license_key": "Newsletr", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "newsletr.json", "yml": "newsletr.yml", "html": "newsletr.html", "text": "newsletr.LICENSE" }, { "license_key": "newton-king-cla", "spdx_license_key": "LicenseRef-scancode-newton-king-cla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "newton-king-cla.json", "yml": "newton-king-cla.yml", "html": "newton-king-cla.html", "text": "newton-king-cla.LICENSE" }, { "license_key": "nexb-eula-saas-1.1.0", "spdx_license_key": "LicenseRef-scancode-nexb-eula-saas-1.1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nexb-eula-saas-1.1.0.json", "yml": "nexb-eula-saas-1.1.0.yml", "html": "nexb-eula-saas-1.1.0.html", "text": "nexb-eula-saas-1.1.0.LICENSE" }, { "license_key": "nexb-ssla-1.1.0", "spdx_license_key": "LicenseRef-scancode-nexb-ssla-1.1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nexb-ssla-1.1.0.json", "yml": "nexb-ssla-1.1.0.yml", "html": "nexb-ssla-1.1.0.html", "text": "nexb-ssla-1.1.0.LICENSE" }, { "license_key": "ngpl", "spdx_license_key": "NGPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ngpl.json", "yml": "ngpl.yml", "html": "ngpl.html", "text": "ngpl.LICENSE" }, { "license_key": "nice", "spdx_license_key": "LicenseRef-scancode-nice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nice.json", "yml": "nice.yml", "html": "nice.html", "text": "nice.LICENSE" }, { "license_key": "nicta-exception", "spdx_license_key": "LicenseRef-scancode-nicta-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "nicta-exception.json", "yml": "nicta-exception.yml", "html": "nicta-exception.html", "text": "nicta-exception.LICENSE" }, { "license_key": "nicta-psl", "spdx_license_key": "LicenseRef-scancode-nicta-psl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nicta-psl.json", "yml": "nicta-psl.yml", "html": "nicta-psl.html", "text": "nicta-psl.LICENSE" }, { "license_key": "niels-ferguson", "spdx_license_key": "LicenseRef-scancode-niels-ferguson", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "niels-ferguson.json", "yml": "niels-ferguson.yml", "html": "niels-ferguson.html", "text": "niels-ferguson.LICENSE" }, { "license_key": "nilsson-historical", "spdx_license_key": "LicenseRef-scancode-nilsson-historical", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nilsson-historical.json", "yml": "nilsson-historical.yml", "html": "nilsson-historical.html", "text": "nilsson-historical.LICENSE" }, { "license_key": "nist-pd-fallback", "spdx_license_key": "NIST-PD-fallback", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nist-pd-fallback.json", "yml": "nist-pd-fallback.yml", "html": "nist-pd-fallback.html", "text": "nist-pd-fallback.LICENSE" }, { "license_key": "nist-pd", "spdx_license_key": "NIST-PD", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nist-pd.json", "yml": "nist-pd.yml", "html": "nist-pd.html", "text": "nist-pd.LICENSE" }, { "license_key": "nlod-1.0", "spdx_license_key": "NLOD-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nlod-1.0.json", "yml": "nlod-1.0.yml", "html": "nlod-1.0.html", "text": "nlod-1.0.LICENSE" }, { "license_key": "nlpl", "spdx_license_key": "NLPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nlpl.json", "yml": "nlpl.yml", "html": "nlpl.html", "text": "nlpl.LICENSE" }, { "license_key": "node-js", "spdx_license_key": "LicenseRef-scancode-node-js", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "node-js.json", "yml": "node-js.yml", "html": "node-js.html", "text": "node-js.LICENSE" }, { "license_key": "nokia-qt-exception-1.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "nokia-qt-exception-1.1.json", "yml": "nokia-qt-exception-1.1.yml", "html": "nokia-qt-exception-1.1.html", "text": "nokia-qt-exception-1.1.LICENSE" }, { "license_key": "nokos-1.0a", "spdx_license_key": "Nokia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nokos-1.0a.json", "yml": "nokos-1.0a.yml", "html": "nokos-1.0a.html", "text": "nokos-1.0a.LICENSE" }, { "license_key": "non-violent-4.0", "spdx_license_key": "LicenseRef-scancode-non-violent-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "non-violent-4.0.json", "yml": "non-violent-4.0.yml", "html": "non-violent-4.0.html", "text": "non-violent-4.0.LICENSE" }, { "license_key": "nonexclusive", "spdx_license_key": "LicenseRef-scancode-nonexclusive", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nonexclusive.json", "yml": "nonexclusive.yml", "html": "nonexclusive.html", "text": "nonexclusive.LICENSE" }, { "license_key": "nortel-dasa", "spdx_license_key": "LicenseRef-scancode-nortel-dasa", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nortel-dasa.json", "yml": "nortel-dasa.yml", "html": "nortel-dasa.html", "text": "nortel-dasa.LICENSE" }, { "license_key": "nosl-1.0", "spdx_license_key": "NOSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nosl-1.0.json", "yml": "nosl-1.0.yml", "html": "nosl-1.0.html", "text": "nosl-1.0.LICENSE" }, { "license_key": "nosl-3.0", "spdx_license_key": "NPOSL-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nosl-3.0.json", "yml": "nosl-3.0.yml", "html": "nosl-3.0.html", "text": "nosl-3.0.LICENSE" }, { "license_key": "notre-dame", "spdx_license_key": "LicenseRef-scancode-notre-dame", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "notre-dame.json", "yml": "notre-dame.yml", "html": "notre-dame.html", "text": "notre-dame.LICENSE" }, { "license_key": "noweb", "spdx_license_key": "Noweb", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "noweb.json", "yml": "noweb.yml", "html": "noweb.html", "text": "noweb.LICENSE" }, { "license_key": "npl-1.0", "spdx_license_key": "NPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "npl-1.0.json", "yml": "npl-1.0.yml", "html": "npl-1.0.html", "text": "npl-1.0.LICENSE" }, { "license_key": "npl-1.1", "spdx_license_key": "NPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "npl-1.1.json", "yml": "npl-1.1.yml", "html": "npl-1.1.html", "text": "npl-1.1.LICENSE" }, { "license_key": "npsl-exception-0.93", "spdx_license_key": "LicenseRef-scancode-npsl-exception-0.93", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "npsl-exception-0.93.json", "yml": "npsl-exception-0.93.yml", "html": "npsl-exception-0.93.html", "text": "npsl-exception-0.93.LICENSE" }, { "license_key": "nrl-permission", "spdx_license_key": "LicenseRef-scancode-nrl-permission", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nrl-permission.json", "yml": "nrl-permission.yml", "html": "nrl-permission.html", "text": "nrl-permission.LICENSE" }, { "license_key": "nrl", "spdx_license_key": "NRL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nrl.json", "yml": "nrl.yml", "html": "nrl.html", "text": "nrl.LICENSE" }, { "license_key": "ntlm", "spdx_license_key": "LicenseRef-scancode-ntlm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ntlm.json", "yml": "ntlm.yml", "html": "ntlm.html", "text": "ntlm.LICENSE" }, { "license_key": "ntp-0", "spdx_license_key": "NTP-0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ntp-0.json", "yml": "ntp-0.yml", "html": "ntp-0.html", "text": "ntp-0.LICENSE" }, { "license_key": "ntpl-origin", "spdx_license_key": "LicenseRef-scancode-ntpl-origin", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ntpl-origin.json", "yml": "ntpl-origin.yml", "html": "ntpl-origin.html", "text": "ntpl-origin.LICENSE" }, { "license_key": "ntpl", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ntpl.json", "yml": "ntpl.yml", "html": "ntpl.html", "text": "ntpl.LICENSE" }, { "license_key": "numerical-recipes-notice", "spdx_license_key": "LicenseRef-scancode-numerical-recipes-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "numerical-recipes-notice.json", "yml": "numerical-recipes-notice.yml", "html": "numerical-recipes-notice.html", "text": "numerical-recipes-notice.LICENSE" }, { "license_key": "nunit-v2", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "nunit-v2.json", "yml": "nunit-v2.yml", "html": "nunit-v2.html", "text": "nunit-v2.LICENSE" }, { "license_key": "nvidia-2002", "spdx_license_key": "LicenseRef-scancode-nvidia-2002", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-2002.json", "yml": "nvidia-2002.yml", "html": "nvidia-2002.html", "text": "nvidia-2002.LICENSE" }, { "license_key": "nvidia-apex-sdk-eula-2011", "spdx_license_key": "LicenseRef-scancode-nvidia-apex-sdk-eula-2011", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-apex-sdk-eula-2011.json", "yml": "nvidia-apex-sdk-eula-2011.yml", "html": "nvidia-apex-sdk-eula-2011.html", "text": "nvidia-apex-sdk-eula-2011.LICENSE" }, { "license_key": "nvidia-cuda-supplement-2020", "spdx_license_key": "LicenseRef-scancode-nvidia-cuda-supplement-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-cuda-supplement-2020.json", "yml": "nvidia-cuda-supplement-2020.yml", "html": "nvidia-cuda-supplement-2020.html", "text": "nvidia-cuda-supplement-2020.LICENSE" }, { "license_key": "nvidia-gov", "spdx_license_key": "LicenseRef-scancode-nvidia-gov", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-gov.json", "yml": "nvidia-gov.yml", "html": "nvidia-gov.html", "text": "nvidia-gov.LICENSE" }, { "license_key": "nvidia-ngx-eula-2019", "spdx_license_key": "LicenseRef-scancode-nvidia-ngx-eula-2019", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-ngx-eula-2019.json", "yml": "nvidia-ngx-eula-2019.yml", "html": "nvidia-ngx-eula-2019.html", "text": "nvidia-ngx-eula-2019.LICENSE" }, { "license_key": "nvidia-sdk-eula-v0.11", "spdx_license_key": "LicenseRef-scancode-nvidia-sdk-eula-v0.11", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia-sdk-eula-v0.11.json", "yml": "nvidia-sdk-eula-v0.11.yml", "html": "nvidia-sdk-eula-v0.11.html", "text": "nvidia-sdk-eula-v0.11.LICENSE" }, { "license_key": "nvidia", "spdx_license_key": "LicenseRef-scancode-nvidia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nvidia.json", "yml": "nvidia.yml", "html": "nvidia.html", "text": "nvidia.LICENSE" }, { "license_key": "nwhm", "spdx_license_key": "LicenseRef-scancode-nwhm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nwhm.json", "yml": "nwhm.yml", "html": "nwhm.html", "text": "nwhm.LICENSE" }, { "license_key": "nxp-microcontroller-proprietary", "spdx_license_key": "LicenseRef-scancode-nxp-microcontroller-proprietary", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nxp-microcontroller-proprietary.json", "yml": "nxp-microcontroller-proprietary.yml", "html": "nxp-microcontroller-proprietary.html", "text": "nxp-microcontroller-proprietary.LICENSE" }, { "license_key": "nxp-warranty-disclaimer", "spdx_license_key": "LicenseRef-scancode-nxp-warranty-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nxp-warranty-disclaimer.json", "yml": "nxp-warranty-disclaimer.yml", "html": "nxp-warranty-disclaimer.html", "text": "nxp-warranty-disclaimer.LICENSE" }, { "license_key": "nysl-0.9982", "spdx_license_key": "LicenseRef-scancode-nysl-0.9982", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "nysl-0.9982.json", "yml": "nysl-0.9982.yml", "html": "nysl-0.9982.html", "text": "nysl-0.9982.LICENSE" }, { "license_key": "o-uda-1.0", "spdx_license_key": "O-UDA-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "o-uda-1.0.json", "yml": "o-uda-1.0.yml", "html": "o-uda-1.0.html", "text": "o-uda-1.0.LICENSE" }, { "license_key": "o-young-jong", "spdx_license_key": "LicenseRef-scancode-o-young-jong", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "o-young-jong.json", "yml": "o-young-jong.yml", "html": "o-young-jong.html", "text": "o-young-jong.LICENSE" }, { "license_key": "oasis-ipr-policy-2014", "spdx_license_key": "LicenseRef-scancode-oasis-ipr-policy-2014", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oasis-ipr-policy-2014.json", "yml": "oasis-ipr-policy-2014.yml", "html": "oasis-ipr-policy-2014.html", "text": "oasis-ipr-policy-2014.LICENSE" }, { "license_key": "oasis-ws-security-spec", "spdx_license_key": "LicenseRef-scancode-oasis-ws-security-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oasis-ws-security-spec.json", "yml": "oasis-ws-security-spec.yml", "html": "oasis-ws-security-spec.html", "text": "oasis-ws-security-spec.LICENSE" }, { "license_key": "ocaml-lgpl-linking-exception", "spdx_license_key": "OCaml-LGPL-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ocaml-lgpl-linking-exception.json", "yml": "ocaml-lgpl-linking-exception.yml", "html": "ocaml-lgpl-linking-exception.html", "text": "ocaml-lgpl-linking-exception.LICENSE" }, { "license_key": "ocb-non-military-2013", "spdx_license_key": "LicenseRef-scancode-ocb-non-military-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ocb-non-military-2013.json", "yml": "ocb-non-military-2013.yml", "html": "ocb-non-military-2013.html", "text": "ocb-non-military-2013.LICENSE" }, { "license_key": "ocb-open-source-2013", "spdx_license_key": "LicenseRef-scancode-ocb-open-source-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ocb-open-source-2013.json", "yml": "ocb-open-source-2013.yml", "html": "ocb-open-source-2013.html", "text": "ocb-open-source-2013.LICENSE" }, { "license_key": "ocb-patent-openssl-2013", "spdx_license_key": "LicenseRef-scancode-ocb-patent-openssl-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ocb-patent-openssl-2013.json", "yml": "ocb-patent-openssl-2013.yml", "html": "ocb-patent-openssl-2013.html", "text": "ocb-patent-openssl-2013.LICENSE" }, { "license_key": "occt-exception-1.0", "spdx_license_key": "OCCT-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "occt-exception-1.0.json", "yml": "occt-exception-1.0.yml", "html": "occt-exception-1.0.html", "text": "occt-exception-1.0.LICENSE" }, { "license_key": "occt-pl", "spdx_license_key": "OCCT-PL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "occt-pl.json", "yml": "occt-pl.yml", "html": "occt-pl.html", "text": "occt-pl.LICENSE" }, { "license_key": "oclc-1.0", "spdx_license_key": "LicenseRef-scancode-oclc-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oclc-1.0.json", "yml": "oclc-1.0.yml", "html": "oclc-1.0.html", "text": "oclc-1.0.LICENSE" }, { "license_key": "oclc-2.0", "spdx_license_key": "OCLC-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oclc-2.0.json", "yml": "oclc-2.0.yml", "html": "oclc-2.0.html", "text": "oclc-2.0.LICENSE" }, { "license_key": "ocsl-1.0", "spdx_license_key": "LicenseRef-scancode-ocsl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ocsl-1.0.json", "yml": "ocsl-1.0.yml", "html": "ocsl-1.0.html", "text": "ocsl-1.0.LICENSE" }, { "license_key": "oculus-sdk-2020", "spdx_license_key": "LicenseRef-scancode-oculus-sdk-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oculus-sdk-2020.json", "yml": "oculus-sdk-2020.yml", "html": "oculus-sdk-2020.html", "text": "oculus-sdk-2020.LICENSE" }, { "license_key": "oculus-sdk-3.5", "spdx_license_key": "LicenseRef-scancode-oculus-sdk-3.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oculus-sdk-3.5.json", "yml": "oculus-sdk-3.5.yml", "html": "oculus-sdk-3.5.html", "text": "oculus-sdk-3.5.LICENSE" }, { "license_key": "oculus-sdk", "spdx_license_key": "LicenseRef-scancode-oculus-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oculus-sdk.json", "yml": "oculus-sdk.yml", "html": "oculus-sdk.html", "text": "oculus-sdk.LICENSE" }, { "license_key": "odbl-1.0", "spdx_license_key": "ODbL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "odbl-1.0.json", "yml": "odbl-1.0.yml", "html": "odbl-1.0.html", "text": "odbl-1.0.LICENSE" }, { "license_key": "odc-1.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "odc-1.0.json", "yml": "odc-1.0.yml", "html": "odc-1.0.html", "text": "odc-1.0.LICENSE" }, { "license_key": "odc-by-1.0", "spdx_license_key": "ODC-By-1.0", "other_spdx_license_keys": [ "LicenseRef-scancode-odc-1.0" ], "is_exception": false, "is_deprecated": false, "json": "odc-by-1.0.json", "yml": "odc-by-1.0.yml", "html": "odc-by-1.0.html", "text": "odc-by-1.0.LICENSE" }, { "license_key": "odl", "spdx_license_key": "LicenseRef-scancode-odl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "odl.json", "yml": "odl.yml", "html": "odl.html", "text": "odl.LICENSE" }, { "license_key": "ofl-1.0-no-rfn", "spdx_license_key": "OFL-1.0-no-RFN", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.0-no-rfn.json", "yml": "ofl-1.0-no-rfn.yml", "html": "ofl-1.0-no-rfn.html", "text": "ofl-1.0-no-rfn.LICENSE" }, { "license_key": "ofl-1.0-rfn", "spdx_license_key": "OFL-1.0-RFN", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.0-rfn.json", "yml": "ofl-1.0-rfn.yml", "html": "ofl-1.0-rfn.html", "text": "ofl-1.0-rfn.LICENSE" }, { "license_key": "ofl-1.0", "spdx_license_key": "OFL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.0.json", "yml": "ofl-1.0.yml", "html": "ofl-1.0.html", "text": "ofl-1.0.LICENSE" }, { "license_key": "ofl-1.1-no-rfn", "spdx_license_key": "OFL-1.1-no-RFN", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.1-no-rfn.json", "yml": "ofl-1.1-no-rfn.yml", "html": "ofl-1.1-no-rfn.html", "text": "ofl-1.1-no-rfn.LICENSE" }, { "license_key": "ofl-1.1-rfn", "spdx_license_key": "OFL-1.1-RFN", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.1-rfn.json", "yml": "ofl-1.1-rfn.yml", "html": "ofl-1.1-rfn.html", "text": "ofl-1.1-rfn.LICENSE" }, { "license_key": "ofl-1.1", "spdx_license_key": "OFL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ofl-1.1.json", "yml": "ofl-1.1.yml", "html": "ofl-1.1.html", "text": "ofl-1.1.LICENSE" }, { "license_key": "ogc-1.0", "spdx_license_key": "OGC-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogc-1.0.json", "yml": "ogc-1.0.yml", "html": "ogc-1.0.html", "text": "ogc-1.0.LICENSE" }, { "license_key": "ogc-2006", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ogc-2006.json", "yml": "ogc-2006.yml", "html": "ogc-2006.html", "text": "ogc-2006.LICENSE" }, { "license_key": "ogc-document-2020", "spdx_license_key": "LicenseRef-scancode-ogc-document-2020", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogc-document-2020.json", "yml": "ogc-document-2020.yml", "html": "ogc-document-2020.html", "text": "ogc-document-2020.LICENSE" }, { "license_key": "ogc", "spdx_license_key": "LicenseRef-scancode-ogc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogc.json", "yml": "ogc.yml", "html": "ogc.html", "text": "ogc.LICENSE" }, { "license_key": "ogdl-taiwan-1.0", "spdx_license_key": "OGDL-Taiwan-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogdl-taiwan-1.0.json", "yml": "ogdl-taiwan-1.0.yml", "html": "ogdl-taiwan-1.0.html", "text": "ogdl-taiwan-1.0.LICENSE" }, { "license_key": "ogl-uk-1.0", "spdx_license_key": "OGL-UK-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogl-uk-1.0.json", "yml": "ogl-uk-1.0.yml", "html": "ogl-uk-1.0.html", "text": "ogl-uk-1.0.LICENSE" }, { "license_key": "ogl-uk-2.0", "spdx_license_key": "OGL-UK-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogl-uk-2.0.json", "yml": "ogl-uk-2.0.yml", "html": "ogl-uk-2.0.html", "text": "ogl-uk-2.0.LICENSE" }, { "license_key": "ogl-uk-3.0", "spdx_license_key": "OGL-UK-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ogl-uk-3.0.json", "yml": "ogl-uk-3.0.yml", "html": "ogl-uk-3.0.html", "text": "ogl-uk-3.0.LICENSE" }, { "license_key": "okl", "spdx_license_key": "LicenseRef-scancode-okl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "okl.json", "yml": "okl.yml", "html": "okl.html", "text": "okl.LICENSE" }, { "license_key": "open-diameter", "spdx_license_key": "LicenseRef-scancode-open-diameter", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "open-diameter.json", "yml": "open-diameter.yml", "html": "open-diameter.html", "text": "open-diameter.LICENSE" }, { "license_key": "open-group", "spdx_license_key": "LicenseRef-scancode-open-group", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "open-group.json", "yml": "open-group.yml", "html": "open-group.html", "text": "open-group.LICENSE" }, { "license_key": "open-public", "spdx_license_key": "OPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "open-public.json", "yml": "open-public.yml", "html": "open-public.html", "text": "open-public.LICENSE" }, { "license_key": "openbd-exception-3.0", "spdx_license_key": "LicenseRef-scancode-openbd-exception-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openbd-exception-3.0.json", "yml": "openbd-exception-3.0.yml", "html": "openbd-exception-3.0.html", "text": "openbd-exception-3.0.LICENSE" }, { "license_key": "opengroup", "spdx_license_key": "OGTSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opengroup.json", "yml": "opengroup.yml", "html": "opengroup.html", "text": "opengroup.LICENSE" }, { "license_key": "openjdk-assembly-exception-1.0", "spdx_license_key": "OpenJDK-assembly-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openjdk-assembly-exception-1.0.json", "yml": "openjdk-assembly-exception-1.0.yml", "html": "openjdk-assembly-exception-1.0.html", "text": "openjdk-assembly-exception-1.0.LICENSE" }, { "license_key": "openjdk-classpath-exception-2.0", "spdx_license_key": "LicenseRef-scancode-openjdk-classpath-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openjdk-classpath-exception-2.0.json", "yml": "openjdk-classpath-exception-2.0.yml", "html": "openjdk-classpath-exception-2.0.html", "text": "openjdk-classpath-exception-2.0.LICENSE" }, { "license_key": "openjdk-exception", "spdx_license_key": "LicenseRef-scancode-openjdk-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openjdk-exception.json", "yml": "openjdk-exception.yml", "html": "openjdk-exception.html", "text": "openjdk-exception.LICENSE" }, { "license_key": "openldap-1.1", "spdx_license_key": "OLDAP-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-1.1.json", "yml": "openldap-1.1.yml", "html": "openldap-1.1.html", "text": "openldap-1.1.LICENSE" }, { "license_key": "openldap-1.2", "spdx_license_key": "OLDAP-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-1.2.json", "yml": "openldap-1.2.yml", "html": "openldap-1.2.html", "text": "openldap-1.2.LICENSE" }, { "license_key": "openldap-1.3", "spdx_license_key": "OLDAP-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-1.3.json", "yml": "openldap-1.3.yml", "html": "openldap-1.3.html", "text": "openldap-1.3.LICENSE" }, { "license_key": "openldap-1.4", "spdx_license_key": "OLDAP-1.4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-1.4.json", "yml": "openldap-1.4.yml", "html": "openldap-1.4.html", "text": "openldap-1.4.LICENSE" }, { "license_key": "openldap-2.0.1", "spdx_license_key": "OLDAP-2.0.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.0.1.json", "yml": "openldap-2.0.1.yml", "html": "openldap-2.0.1.html", "text": "openldap-2.0.1.LICENSE" }, { "license_key": "openldap-2.0", "spdx_license_key": "OLDAP-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.0.json", "yml": "openldap-2.0.yml", "html": "openldap-2.0.html", "text": "openldap-2.0.LICENSE" }, { "license_key": "openldap-2.1", "spdx_license_key": "OLDAP-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.1.json", "yml": "openldap-2.1.yml", "html": "openldap-2.1.html", "text": "openldap-2.1.LICENSE" }, { "license_key": "openldap-2.2.1", "spdx_license_key": "OLDAP-2.2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.2.1.json", "yml": "openldap-2.2.1.yml", "html": "openldap-2.2.1.html", "text": "openldap-2.2.1.LICENSE" }, { "license_key": "openldap-2.2.2", "spdx_license_key": "OLDAP-2.2.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.2.2.json", "yml": "openldap-2.2.2.yml", "html": "openldap-2.2.2.html", "text": "openldap-2.2.2.LICENSE" }, { "license_key": "openldap-2.2", "spdx_license_key": "OLDAP-2.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.2.json", "yml": "openldap-2.2.yml", "html": "openldap-2.2.html", "text": "openldap-2.2.LICENSE" }, { "license_key": "openldap-2.3", "spdx_license_key": "OLDAP-2.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.3.json", "yml": "openldap-2.3.yml", "html": "openldap-2.3.html", "text": "openldap-2.3.LICENSE" }, { "license_key": "openldap-2.4", "spdx_license_key": "OLDAP-2.4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.4.json", "yml": "openldap-2.4.yml", "html": "openldap-2.4.html", "text": "openldap-2.4.LICENSE" }, { "license_key": "openldap-2.5", "spdx_license_key": "OLDAP-2.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.5.json", "yml": "openldap-2.5.yml", "html": "openldap-2.5.html", "text": "openldap-2.5.LICENSE" }, { "license_key": "openldap-2.6", "spdx_license_key": "OLDAP-2.6", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.6.json", "yml": "openldap-2.6.yml", "html": "openldap-2.6.html", "text": "openldap-2.6.LICENSE" }, { "license_key": "openldap-2.7", "spdx_license_key": "OLDAP-2.7", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.7.json", "yml": "openldap-2.7.yml", "html": "openldap-2.7.html", "text": "openldap-2.7.LICENSE" }, { "license_key": "openldap-2.8", "spdx_license_key": "OLDAP-2.8", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openldap-2.8.json", "yml": "openldap-2.8.yml", "html": "openldap-2.8.html", "text": "openldap-2.8.LICENSE" }, { "license_key": "openmap", "spdx_license_key": "LicenseRef-scancode-openmap", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openmap.json", "yml": "openmap.yml", "html": "openmap.html", "text": "openmap.LICENSE" }, { "license_key": "openmarket-fastcgi", "spdx_license_key": "LicenseRef-scancode-openmarket-fastcgi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openmarket-fastcgi.json", "yml": "openmarket-fastcgi.yml", "html": "openmarket-fastcgi.html", "text": "openmarket-fastcgi.LICENSE" }, { "license_key": "openmotif-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-openmotif-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openmotif-exception-2.0-plus.json", "yml": "openmotif-exception-2.0-plus.yml", "html": "openmotif-exception-2.0-plus.html", "text": "openmotif-exception-2.0-plus.LICENSE" }, { "license_key": "opennetcf-shared-source", "spdx_license_key": "LicenseRef-scancode-opennetcf-shared-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opennetcf-shared-source.json", "yml": "opennetcf-shared-source.yml", "html": "opennetcf-shared-source.html", "text": "opennetcf-shared-source.LICENSE" }, { "license_key": "openorb-1.0", "spdx_license_key": "LicenseRef-scancode-openorb-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openorb-1.0.json", "yml": "openorb-1.0.yml", "html": "openorb-1.0.html", "text": "openorb-1.0.LICENSE" }, { "license_key": "openpbs-2.3", "spdx_license_key": "LicenseRef-scancode-openpbs-2.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openpbs-2.3.json", "yml": "openpbs-2.3.yml", "html": "openpbs-2.3.html", "text": "openpbs-2.3.LICENSE" }, { "license_key": "openpub", "spdx_license_key": "LicenseRef-scancode-openpub", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openpub.json", "yml": "openpub.yml", "html": "openpub.html", "text": "openpub.LICENSE" }, { "license_key": "opensaml-1.0", "spdx_license_key": "LicenseRef-scancode-opensaml-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opensaml-1.0.json", "yml": "opensaml-1.0.yml", "html": "opensaml-1.0.html", "text": "opensaml-1.0.LICENSE" }, { "license_key": "openssh", "spdx_license_key": "SSH-OpenSSH", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openssh.json", "yml": "openssh.yml", "html": "openssh.html", "text": "openssh.LICENSE" }, { "license_key": "openssl-exception-agpl-3.0-plus", "spdx_license_key": "LicenseRef-scancode-openssl-exception-agpl-3.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-agpl-3.0-plus.json", "yml": "openssl-exception-agpl-3.0-plus.yml", "html": "openssl-exception-agpl-3.0-plus.html", "text": "openssl-exception-agpl-3.0-plus.LICENSE" }, { "license_key": "openssl-exception-agpl-3.0", "spdx_license_key": "LicenseRef-scancode-openssl-exception-agpl-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-agpl-3.0.json", "yml": "openssl-exception-agpl-3.0.yml", "html": "openssl-exception-agpl-3.0.html", "text": "openssl-exception-agpl-3.0.LICENSE" }, { "license_key": "openssl-exception-gpl-2.0-plus", "spdx_license_key": "LicenseRef-scancode-openssl-exception-gpl-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-gpl-2.0-plus.json", "yml": "openssl-exception-gpl-2.0-plus.yml", "html": "openssl-exception-gpl-2.0-plus.html", "text": "openssl-exception-gpl-2.0-plus.LICENSE" }, { "license_key": "openssl-exception-gpl-2.0", "spdx_license_key": "LicenseRef-scancode-openssl-exception-gpl-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-gpl-2.0.json", "yml": "openssl-exception-gpl-2.0.yml", "html": "openssl-exception-gpl-2.0.html", "text": "openssl-exception-gpl-2.0.LICENSE" }, { "license_key": "openssl-exception-gpl-3.0-plus", "spdx_license_key": "LicenseRef-scancode-openssl-exception-gpl-3.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-gpl-3.0-plus.json", "yml": "openssl-exception-gpl-3.0-plus.yml", "html": "openssl-exception-gpl-3.0-plus.html", "text": "openssl-exception-gpl-3.0-plus.LICENSE" }, { "license_key": "openssl-exception-lgpl-2.0-plus", "spdx_license_key": "LicenseRef-scancode-openssl-exception-lgpl-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-lgpl-2.0-plus.json", "yml": "openssl-exception-lgpl-2.0-plus.yml", "html": "openssl-exception-lgpl-2.0-plus.html", "text": "openssl-exception-lgpl-2.0-plus.LICENSE" }, { "license_key": "openssl-exception-lgpl-3.0-plus", "spdx_license_key": "LicenseRef-scancode-openssl-exception-lgpl-3.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-lgpl-3.0-plus.json", "yml": "openssl-exception-lgpl-3.0-plus.yml", "html": "openssl-exception-lgpl-3.0-plus.html", "text": "openssl-exception-lgpl-3.0-plus.LICENSE" }, { "license_key": "openssl-exception-mongodb-sspl", "spdx_license_key": "LicenseRef-scancode-openssl-exception-mongodb-sspl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-exception-mongodb-sspl.json", "yml": "openssl-exception-mongodb-sspl.yml", "html": "openssl-exception-mongodb-sspl.html", "text": "openssl-exception-mongodb-sspl.LICENSE" }, { "license_key": "openssl-nokia-psk-contribution", "spdx_license_key": "LicenseRef-scancode-openssl-nokia-psk-contribution", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openssl-nokia-psk-contribution.json", "yml": "openssl-nokia-psk-contribution.yml", "html": "openssl-nokia-psk-contribution.html", "text": "openssl-nokia-psk-contribution.LICENSE" }, { "license_key": "openssl-ssleay", "spdx_license_key": "OpenSSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openssl-ssleay.json", "yml": "openssl-ssleay.yml", "html": "openssl-ssleay.html", "text": "openssl-ssleay.LICENSE" }, { "license_key": "openssl", "spdx_license_key": "LicenseRef-scancode-openssl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openssl.json", "yml": "openssl.yml", "html": "openssl.html", "text": "openssl.LICENSE" }, { "license_key": "openvpn-as-eula", "spdx_license_key": "LicenseRef-scancode-openvpn-as-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "openvpn-as-eula.json", "yml": "openvpn-as-eula.yml", "html": "openvpn-as-eula.html", "text": "openvpn-as-eula.LICENSE" }, { "license_key": "openvpn-openssl-exception", "spdx_license_key": "openvpn-openssl-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "openvpn-openssl-exception.json", "yml": "openvpn-openssl-exception.yml", "html": "openvpn-openssl-exception.html", "text": "openvpn-openssl-exception.LICENSE" }, { "license_key": "opera-eula-2018", "spdx_license_key": "LicenseRef-scancode-opera-eula-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opera-eula-2018.json", "yml": "opera-eula-2018.yml", "html": "opera-eula-2018.html", "text": "opera-eula-2018.LICENSE" }, { "license_key": "opera-eula-eea-2018", "spdx_license_key": "LicenseRef-scancode-opera-eula-eea-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opera-eula-eea-2018.json", "yml": "opera-eula-eea-2018.yml", "html": "opera-eula-eea-2018.html", "text": "opera-eula-eea-2018.LICENSE" }, { "license_key": "opera-widget-1.0", "spdx_license_key": "LicenseRef-scancode-opera-widget-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opera-widget-1.0.json", "yml": "opera-widget-1.0.yml", "html": "opera-widget-1.0.html", "text": "opera-widget-1.0.LICENSE" }, { "license_key": "opl-1.0", "spdx_license_key": "LicenseRef-scancode-opl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opl-1.0.json", "yml": "opl-1.0.yml", "html": "opl-1.0.html", "text": "opl-1.0.LICENSE" }, { "license_key": "opnl-1.0", "spdx_license_key": "LicenseRef-scancode-opnl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opnl-1.0.json", "yml": "opnl-1.0.yml", "html": "opnl-1.0.html", "text": "opnl-1.0.LICENSE" }, { "license_key": "opnl-2.0", "spdx_license_key": "LicenseRef-scancode-opnl-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "opnl-2.0.json", "yml": "opnl-2.0.yml", "html": "opnl-2.0.html", "text": "opnl-2.0.LICENSE" }, { "license_key": "oracle-bcl-javaee", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-javaee", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-javaee.json", "yml": "oracle-bcl-javaee.yml", "html": "oracle-bcl-javaee.html", "text": "oracle-bcl-javaee.LICENSE" }, { "license_key": "oracle-bcl-javase-javafx-2012", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-javase-javafx-2012", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-javase-javafx-2012.json", "yml": "oracle-bcl-javase-javafx-2012.yml", "html": "oracle-bcl-javase-javafx-2012.html", "text": "oracle-bcl-javase-javafx-2012.LICENSE" }, { "license_key": "oracle-bcl-javase-javafx-2013", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-javase-javafx-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-javase-javafx-2013.json", "yml": "oracle-bcl-javase-javafx-2013.yml", "html": "oracle-bcl-javase-javafx-2013.html", "text": "oracle-bcl-javase-javafx-2013.LICENSE" }, { "license_key": "oracle-bcl-javase-platform-javafx-2013", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2013", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-javase-platform-javafx-2013.json", "yml": "oracle-bcl-javase-platform-javafx-2013.yml", "html": "oracle-bcl-javase-platform-javafx-2013.html", "text": "oracle-bcl-javase-platform-javafx-2013.LICENSE" }, { "license_key": "oracle-bcl-javase-platform-javafx-2017", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-javase-platform-javafx-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-javase-platform-javafx-2017.json", "yml": "oracle-bcl-javase-platform-javafx-2017.yml", "html": "oracle-bcl-javase-platform-javafx-2017.html", "text": "oracle-bcl-javase-platform-javafx-2017.LICENSE" }, { "license_key": "oracle-bcl-jsse-1.0.3", "spdx_license_key": "LicenseRef-scancode-oracle-bcl-jsse-1.0.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bcl-jsse-1.0.3.json", "yml": "oracle-bcl-jsse-1.0.3.yml", "html": "oracle-bcl-jsse-1.0.3.html", "text": "oracle-bcl-jsse-1.0.3.LICENSE" }, { "license_key": "oracle-bsd-no-nuclear", "spdx_license_key": "BSD-3-Clause-No-Nuclear-License-2014", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-bsd-no-nuclear.json", "yml": "oracle-bsd-no-nuclear.yml", "html": "oracle-bsd-no-nuclear.html", "text": "oracle-bsd-no-nuclear.LICENSE" }, { "license_key": "oracle-code-samples-bsd", "spdx_license_key": "LicenseRef-scancode-oracle-code-samples-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-code-samples-bsd.json", "yml": "oracle-code-samples-bsd.yml", "html": "oracle-code-samples-bsd.html", "text": "oracle-code-samples-bsd.LICENSE" }, { "license_key": "oracle-commercial-database-11g2", "spdx_license_key": "LicenseRef-scancode-oracle-commercial-database-11g2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-commercial-database-11g2.json", "yml": "oracle-commercial-database-11g2.yml", "html": "oracle-commercial-database-11g2.html", "text": "oracle-commercial-database-11g2.LICENSE" }, { "license_key": "oracle-devtools-vsnet-dev", "spdx_license_key": "LicenseRef-scancode-oracle-devtools-vsnet-dev", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-devtools-vsnet-dev.json", "yml": "oracle-devtools-vsnet-dev.yml", "html": "oracle-devtools-vsnet-dev.html", "text": "oracle-devtools-vsnet-dev.LICENSE" }, { "license_key": "oracle-entitlement-05-15", "spdx_license_key": "LicenseRef-scancode-oracle-entitlement-05-15", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-entitlement-05-15.json", "yml": "oracle-entitlement-05-15.yml", "html": "oracle-entitlement-05-15.html", "text": "oracle-entitlement-05-15.LICENSE" }, { "license_key": "oracle-java-ee-sdk-2010", "spdx_license_key": "LicenseRef-scancode-oracle-java-ee-sdk-2010", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-java-ee-sdk-2010.json", "yml": "oracle-java-ee-sdk-2010.yml", "html": "oracle-java-ee-sdk-2010.html", "text": "oracle-java-ee-sdk-2010.LICENSE" }, { "license_key": "oracle-master-agreement", "spdx_license_key": "LicenseRef-scancode-oracle-master-agreement", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-master-agreement.json", "yml": "oracle-master-agreement.yml", "html": "oracle-master-agreement.html", "text": "oracle-master-agreement.LICENSE" }, { "license_key": "oracle-mysql-foss-exception-2.0", "spdx_license_key": "LicenseRef-scancode-oracle-mysql-foss-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "oracle-mysql-foss-exception-2.0.json", "yml": "oracle-mysql-foss-exception-2.0.yml", "html": "oracle-mysql-foss-exception-2.0.html", "text": "oracle-mysql-foss-exception-2.0.LICENSE" }, { "license_key": "oracle-openjdk-classpath-exception-2.0", "spdx_license_key": "LicenseRef-scancode-oracle-openjdk-classpath-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "oracle-openjdk-classpath-exception-2.0.json", "yml": "oracle-openjdk-classpath-exception-2.0.yml", "html": "oracle-openjdk-classpath-exception-2.0.html", "text": "oracle-openjdk-classpath-exception-2.0.LICENSE" }, { "license_key": "oracle-otn-javase-2019", "spdx_license_key": "LicenseRef-scancode-oracle-otn-javase-2019", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-otn-javase-2019.json", "yml": "oracle-otn-javase-2019.yml", "html": "oracle-otn-javase-2019.html", "text": "oracle-otn-javase-2019.LICENSE" }, { "license_key": "oracle-sql-developer", "spdx_license_key": "LicenseRef-scancode-oracle-sql-developer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-sql-developer.json", "yml": "oracle-sql-developer.yml", "html": "oracle-sql-developer.html", "text": "oracle-sql-developer.LICENSE" }, { "license_key": "oracle-web-sites-tou", "spdx_license_key": "LicenseRef-scancode-oracle-web-sites-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oracle-web-sites-tou.json", "yml": "oracle-web-sites-tou.yml", "html": "oracle-web-sites-tou.html", "text": "oracle-web-sites-tou.LICENSE" }, { "license_key": "oreilly-notice", "spdx_license_key": "LicenseRef-scancode-oreilly-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oreilly-notice.json", "yml": "oreilly-notice.yml", "html": "oreilly-notice.html", "text": "oreilly-notice.LICENSE" }, { "license_key": "oset-pl-2.1", "spdx_license_key": "OSET-PL-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oset-pl-2.1.json", "yml": "oset-pl-2.1.yml", "html": "oset-pl-2.1.html", "text": "oset-pl-2.1.LICENSE" }, { "license_key": "osetpl-2.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "osetpl-2.1.json", "yml": "osetpl-2.1.yml", "html": "osetpl-2.1.html", "text": "osetpl-2.1.LICENSE" }, { "license_key": "osf-1990", "spdx_license_key": "LicenseRef-scancode-osf-1990", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osf-1990.json", "yml": "osf-1990.yml", "html": "osf-1990.html", "text": "osf-1990.LICENSE" }, { "license_key": "osgi-spec-2.0", "spdx_license_key": "LicenseRef-scancode-osgi-spec-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osgi-spec-2.0.json", "yml": "osgi-spec-2.0.yml", "html": "osgi-spec-2.0.html", "text": "osgi-spec-2.0.LICENSE" }, { "license_key": "osl-1.0", "spdx_license_key": "OSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osl-1.0.json", "yml": "osl-1.0.yml", "html": "osl-1.0.html", "text": "osl-1.0.LICENSE" }, { "license_key": "osl-1.1", "spdx_license_key": "OSL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osl-1.1.json", "yml": "osl-1.1.yml", "html": "osl-1.1.html", "text": "osl-1.1.LICENSE" }, { "license_key": "osl-2.0", "spdx_license_key": "OSL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osl-2.0.json", "yml": "osl-2.0.yml", "html": "osl-2.0.html", "text": "osl-2.0.LICENSE" }, { "license_key": "osl-2.1", "spdx_license_key": "OSL-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osl-2.1.json", "yml": "osl-2.1.yml", "html": "osl-2.1.html", "text": "osl-2.1.LICENSE" }, { "license_key": "osl-3.0", "spdx_license_key": "OSL-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "osl-3.0.json", "yml": "osl-3.0.yml", "html": "osl-3.0.html", "text": "osl-3.0.LICENSE" }, { "license_key": "ossn-3.0", "spdx_license_key": "LicenseRef-scancode-ossn-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ossn-3.0.json", "yml": "ossn-3.0.yml", "html": "ossn-3.0.html", "text": "ossn-3.0.LICENSE" }, { "license_key": "oswego-concurrent", "spdx_license_key": "LicenseRef-scancode-oswego-concurrent", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oswego-concurrent.json", "yml": "oswego-concurrent.yml", "html": "oswego-concurrent.html", "text": "oswego-concurrent.LICENSE" }, { "license_key": "other-copyleft", "spdx_license_key": "LicenseRef-scancode-other-copyleft", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "other-copyleft.json", "yml": "other-copyleft.yml", "html": "other-copyleft.html", "text": "other-copyleft.LICENSE" }, { "license_key": "other-permissive", "spdx_license_key": "LicenseRef-scancode-other-permissive", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "other-permissive.json", "yml": "other-permissive.yml", "html": "other-permissive.html", "text": "other-permissive.LICENSE" }, { "license_key": "otn-dev-dist-2009", "spdx_license_key": "LicenseRef-scancode-otn-dev-dist-2009", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-dev-dist-2009.json", "yml": "otn-dev-dist-2009.yml", "html": "otn-dev-dist-2009.html", "text": "otn-dev-dist-2009.LICENSE" }, { "license_key": "otn-dev-dist-2014", "spdx_license_key": "LicenseRef-scancode-otn-dev-dist-2014", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-dev-dist-2014.json", "yml": "otn-dev-dist-2014.yml", "html": "otn-dev-dist-2014.html", "text": "otn-dev-dist-2014.LICENSE" }, { "license_key": "otn-dev-dist-2016", "spdx_license_key": "LicenseRef-scancode-otn-dev-dist-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-dev-dist-2016.json", "yml": "otn-dev-dist-2016.yml", "html": "otn-dev-dist-2016.html", "text": "otn-dev-dist-2016.LICENSE" }, { "license_key": "otn-dev-dist", "spdx_license_key": "LicenseRef-scancode-otn-dev-dist", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-dev-dist.json", "yml": "otn-dev-dist.yml", "html": "otn-dev-dist.html", "text": "otn-dev-dist.LICENSE" }, { "license_key": "otn-early-adopter-development", "spdx_license_key": "LicenseRef-scancode-otn-early-adopter-development", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-early-adopter-development.json", "yml": "otn-early-adopter-development.yml", "html": "otn-early-adopter-development.html", "text": "otn-early-adopter-development.LICENSE" }, { "license_key": "otn-standard-2014-09", "spdx_license_key": "LicenseRef-scancode-otn-standard-2014-09", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "otn-standard-2014-09.json", "yml": "otn-standard-2014-09.yml", "html": "otn-standard-2014-09.html", "text": "otn-standard-2014-09.LICENSE" }, { "license_key": "owal-1.0", "spdx_license_key": "LicenseRef-scancode-owal-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "owal-1.0.json", "yml": "owal-1.0.yml", "html": "owal-1.0.html", "text": "owal-1.0.LICENSE" }, { "license_key": "owfa-1.0", "spdx_license_key": "LicenseRef-scancode-owfa-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "owfa-1.0.json", "yml": "owfa-1.0.yml", "html": "owfa-1.0.html", "text": "owfa-1.0.LICENSE" }, { "license_key": "owtchart", "spdx_license_key": "LicenseRef-scancode-owtchart", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "owtchart.json", "yml": "owtchart.yml", "html": "owtchart.html", "text": "owtchart.LICENSE" }, { "license_key": "oxygen-xml-webhelp-eula", "spdx_license_key": "LicenseRef-scancode-oxygen-xml-webhelp-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "oxygen-xml-webhelp-eula.json", "yml": "oxygen-xml-webhelp-eula.yml", "html": "oxygen-xml-webhelp-eula.html", "text": "oxygen-xml-webhelp-eula.LICENSE" }, { "license_key": "ozplb-1.0", "spdx_license_key": "LicenseRef-scancode-ozplb-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ozplb-1.0.json", "yml": "ozplb-1.0.yml", "html": "ozplb-1.0.html", "text": "ozplb-1.0.LICENSE" }, { "license_key": "ozplb-1.1", "spdx_license_key": "LicenseRef-scancode-ozplb-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ozplb-1.1.json", "yml": "ozplb-1.1.yml", "html": "ozplb-1.1.html", "text": "ozplb-1.1.LICENSE" }, { "license_key": "paint-net", "spdx_license_key": "LicenseRef-scancode-paint-net", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paint-net.json", "yml": "paint-net.yml", "html": "paint-net.html", "text": "paint-net.LICENSE" }, { "license_key": "paolo-messina-2000", "spdx_license_key": "LicenseRef-scancode-paolo-messina-2000", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paolo-messina-2000.json", "yml": "paolo-messina-2000.yml", "html": "paolo-messina-2000.html", "text": "paolo-messina-2000.LICENSE" }, { "license_key": "paraview-1.2", "spdx_license_key": "LicenseRef-scancode-paraview-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paraview-1.2.json", "yml": "paraview-1.2.yml", "html": "paraview-1.2.html", "text": "paraview-1.2.LICENSE" }, { "license_key": "parity-6.0.0", "spdx_license_key": "Parity-6.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "parity-6.0.0.json", "yml": "parity-6.0.0.yml", "html": "parity-6.0.0.html", "text": "parity-6.0.0.LICENSE" }, { "license_key": "parity-7.0.0", "spdx_license_key": "Parity-7.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "parity-7.0.0.json", "yml": "parity-7.0.0.yml", "html": "parity-7.0.0.html", "text": "parity-7.0.0.LICENSE" }, { "license_key": "passive-aggressive", "spdx_license_key": "LicenseRef-scancode-passive-aggressive", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "passive-aggressive.json", "yml": "passive-aggressive.yml", "html": "passive-aggressive.html", "text": "passive-aggressive.LICENSE" }, { "license_key": "patent-disclaimer", "spdx_license_key": "LicenseRef-scancode-patent-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "patent-disclaimer.json", "yml": "patent-disclaimer.yml", "html": "patent-disclaimer.html", "text": "patent-disclaimer.LICENSE" }, { "license_key": "paul-hsieh-derivative", "spdx_license_key": "LicenseRef-scancode-paul-hsieh-derivative", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-hsieh-derivative.json", "yml": "paul-hsieh-derivative.yml", "html": "paul-hsieh-derivative.html", "text": "paul-hsieh-derivative.LICENSE" }, { "license_key": "paul-hsieh-exposition", "spdx_license_key": "LicenseRef-scancode-paul-hsieh-exposition", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-hsieh-exposition.json", "yml": "paul-hsieh-exposition.yml", "html": "paul-hsieh-exposition.html", "text": "paul-hsieh-exposition.LICENSE" }, { "license_key": "paul-mackerras-binary", "spdx_license_key": "LicenseRef-scancode-paul-mackerras-binary", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-mackerras-binary.json", "yml": "paul-mackerras-binary.yml", "html": "paul-mackerras-binary.html", "text": "paul-mackerras-binary.LICENSE" }, { "license_key": "paul-mackerras-new", "spdx_license_key": "LicenseRef-scancode-paul-mackerras-new", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-mackerras-new.json", "yml": "paul-mackerras-new.yml", "html": "paul-mackerras-new.html", "text": "paul-mackerras-new.LICENSE" }, { "license_key": "paul-mackerras-simplified", "spdx_license_key": "LicenseRef-scancode-paul-mackerras-simplified", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-mackerras-simplified.json", "yml": "paul-mackerras-simplified.yml", "html": "paul-mackerras-simplified.html", "text": "paul-mackerras-simplified.LICENSE" }, { "license_key": "paul-mackerras", "spdx_license_key": "LicenseRef-scancode-paul-mackerras", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paul-mackerras.json", "yml": "paul-mackerras.yml", "html": "paul-mackerras.html", "text": "paul-mackerras.LICENSE" }, { "license_key": "paulo-soares", "spdx_license_key": "LicenseRef-scancode-paulo-soares", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "paulo-soares.json", "yml": "paulo-soares.yml", "html": "paulo-soares.html", "text": "paulo-soares.LICENSE" }, { "license_key": "pcre", "spdx_license_key": "LicenseRef-scancode-pcre", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pcre.json", "yml": "pcre.yml", "html": "pcre.html", "text": "pcre.LICENSE" }, { "license_key": "pd-mit", "spdx_license_key": "LicenseRef-scancode-pd-mit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pd-mit.json", "yml": "pd-mit.yml", "html": "pd-mit.html", "text": "pd-mit.LICENSE" }, { "license_key": "pd-programming", "spdx_license_key": "LicenseRef-scancode-pd-programming", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pd-programming.json", "yml": "pd-programming.yml", "html": "pd-programming.html", "text": "pd-programming.LICENSE" }, { "license_key": "pddl-1.0", "spdx_license_key": "PDDL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pddl-1.0.json", "yml": "pddl-1.0.yml", "html": "pddl-1.0.html", "text": "pddl-1.0.LICENSE" }, { "license_key": "pdf-creator-pilot", "spdx_license_key": "LicenseRef-scancode-pdf-creator-pilot", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pdf-creator-pilot.json", "yml": "pdf-creator-pilot.yml", "html": "pdf-creator-pilot.html", "text": "pdf-creator-pilot.LICENSE" }, { "license_key": "pdl-1.0", "spdx_license_key": "LicenseRef-scancode-pdl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pdl-1.0.json", "yml": "pdl-1.0.yml", "html": "pdl-1.0.html", "text": "pdl-1.0.LICENSE" }, { "license_key": "perl-1.0", "spdx_license_key": "LicenseRef-scancode-perl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "perl-1.0.json", "yml": "perl-1.0.yml", "html": "perl-1.0.html", "text": "perl-1.0.LICENSE" }, { "license_key": "peter-deutsch-document", "spdx_license_key": "LicenseRef-scancode-peter-deutsch-document", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "peter-deutsch-document.json", "yml": "peter-deutsch-document.yml", "html": "peter-deutsch-document.html", "text": "peter-deutsch-document.LICENSE" }, { "license_key": "pfe-proprietary-notice", "spdx_license_key": "LicenseRef-scancode-pfe-proprietary-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pfe-proprietary-notice.json", "yml": "pfe-proprietary-notice.yml", "html": "pfe-proprietary-notice.html", "text": "pfe-proprietary-notice.LICENSE" }, { "license_key": "pftijah-1.1", "spdx_license_key": "LicenseRef-scancode-pftijah-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pftijah-1.1.json", "yml": "pftijah-1.1.yml", "html": "pftijah-1.1.html", "text": "pftijah-1.1.LICENSE" }, { "license_key": "pftus-1.1", "spdx_license_key": "LicenseRef-scancode-pftus-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pftus-1.1.json", "yml": "pftus-1.1.yml", "html": "pftus-1.1.html", "text": "pftus-1.1.LICENSE" }, { "license_key": "phil-bunce", "spdx_license_key": "LicenseRef-scancode-phil-bunce", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "phil-bunce.json", "yml": "phil-bunce.yml", "html": "phil-bunce.html", "text": "phil-bunce.LICENSE" }, { "license_key": "philippe-de-muyter", "spdx_license_key": "LicenseRef-scancode-philippe-de-muyter", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "philippe-de-muyter.json", "yml": "philippe-de-muyter.yml", "html": "philippe-de-muyter.html", "text": "philippe-de-muyter.LICENSE" }, { "license_key": "philips-proprietary-notice-2000", "spdx_license_key": "LicenseRef-scancode-philips-proprietary-notice-2000", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "philips-proprietary-notice-2000.json", "yml": "philips-proprietary-notice-2000.yml", "html": "philips-proprietary-notice-2000.html", "text": "philips-proprietary-notice-2000.LICENSE" }, { "license_key": "phorum-2.0", "spdx_license_key": "LicenseRef-scancode-phorum-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "phorum-2.0.json", "yml": "phorum-2.0.yml", "html": "phorum-2.0.html", "text": "phorum-2.0.LICENSE" }, { "license_key": "php-2.0.2", "spdx_license_key": "LicenseRef-scancode-php-2.0.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "php-2.0.2.json", "yml": "php-2.0.2.yml", "html": "php-2.0.2.html", "text": "php-2.0.2.LICENSE" }, { "license_key": "php-3.0", "spdx_license_key": "PHP-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "php-3.0.json", "yml": "php-3.0.yml", "html": "php-3.0.html", "text": "php-3.0.LICENSE" }, { "license_key": "php-3.01", "spdx_license_key": "PHP-3.01", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "php-3.01.json", "yml": "php-3.01.yml", "html": "php-3.01.html", "text": "php-3.01.LICENSE" }, { "license_key": "pine", "spdx_license_key": "LicenseRef-scancode-pine", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pine.json", "yml": "pine.yml", "html": "pine.html", "text": "pine.LICENSE" }, { "license_key": "pivotal-tou", "spdx_license_key": "LicenseRef-scancode-pivotal-tou", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pivotal-tou.json", "yml": "pivotal-tou.yml", "html": "pivotal-tou.html", "text": "pivotal-tou.LICENSE" }, { "license_key": "planet-source-code", "spdx_license_key": "LicenseRef-scancode-planet-source-code", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "planet-source-code.json", "yml": "planet-source-code.yml", "html": "planet-source-code.html", "text": "planet-source-code.LICENSE" }, { "license_key": "pngsuite", "spdx_license_key": "LicenseRef-scancode-pngsuite", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pngsuite.json", "yml": "pngsuite.yml", "html": "pngsuite.html", "text": "pngsuite.LICENSE" }, { "license_key": "politepix-pl-1.0", "spdx_license_key": "LicenseRef-scancode-politepix-pl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "politepix-pl-1.0.json", "yml": "politepix-pl-1.0.yml", "html": "politepix-pl-1.0.html", "text": "politepix-pl-1.0.LICENSE" }, { "license_key": "polyform-defensive-1.0.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "polyform-defensive-1.0.0.json", "yml": "polyform-defensive-1.0.0.yml", "html": "polyform-defensive-1.0.0.html", "text": "polyform-defensive-1.0.0.LICENSE" }, { "license_key": "polyform-free-trial-1.0.0", "spdx_license_key": "LicenseRef-scancode-polyform-free-trial-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-free-trial-1.0.0.json", "yml": "polyform-free-trial-1.0.0.yml", "html": "polyform-free-trial-1.0.0.html", "text": "polyform-free-trial-1.0.0.LICENSE" }, { "license_key": "polyform-internal-use-1.0.0", "spdx_license_key": "LicenseRef-scancode-polyform-internal-use-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-internal-use-1.0.0.json", "yml": "polyform-internal-use-1.0.0.yml", "html": "polyform-internal-use-1.0.0.html", "text": "polyform-internal-use-1.0.0.LICENSE" }, { "license_key": "polyform-noncommercial-1.0.0", "spdx_license_key": "PolyForm-Noncommercial-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-noncommercial-1.0.0.json", "yml": "polyform-noncommercial-1.0.0.yml", "html": "polyform-noncommercial-1.0.0.html", "text": "polyform-noncommercial-1.0.0.LICENSE" }, { "license_key": "polyform-perimeter-1.0.0", "spdx_license_key": "LicenseRef-scancode-polyform-perimeter-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-perimeter-1.0.0.json", "yml": "polyform-perimeter-1.0.0.yml", "html": "polyform-perimeter-1.0.0.html", "text": "polyform-perimeter-1.0.0.LICENSE" }, { "license_key": "polyform-shield-1.0.0", "spdx_license_key": "LicenseRef-scancode-polyform-shield-1.0.0", "other_spdx_license_keys": [ "LicenseRef-scancode-polyform-defensive-1.0.0" ], "is_exception": false, "is_deprecated": false, "json": "polyform-shield-1.0.0.json", "yml": "polyform-shield-1.0.0.yml", "html": "polyform-shield-1.0.0.html", "text": "polyform-shield-1.0.0.LICENSE" }, { "license_key": "polyform-small-business-1.0.0", "spdx_license_key": "PolyForm-Small-Business-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-small-business-1.0.0.json", "yml": "polyform-small-business-1.0.0.yml", "html": "polyform-small-business-1.0.0.html", "text": "polyform-small-business-1.0.0.LICENSE" }, { "license_key": "polyform-strict-1.0.0", "spdx_license_key": "LicenseRef-scancode-polyform-strict-1.0.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "polyform-strict-1.0.0.json", "yml": "polyform-strict-1.0.0.yml", "html": "polyform-strict-1.0.0.html", "text": "polyform-strict-1.0.0.LICENSE" }, { "license_key": "postgresql", "spdx_license_key": "PostgreSQL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "postgresql.json", "yml": "postgresql.yml", "html": "postgresql.html", "text": "postgresql.LICENSE" }, { "license_key": "powervr-tools-software-eula", "spdx_license_key": "LicenseRef-scancode-powervr-tools-software-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "powervr-tools-software-eula.json", "yml": "powervr-tools-software-eula.yml", "html": "powervr-tools-software-eula.html", "text": "powervr-tools-software-eula.LICENSE" }, { "license_key": "ppp", "spdx_license_key": "LicenseRef-scancode-ppp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ppp.json", "yml": "ppp.yml", "html": "ppp.html", "text": "ppp.LICENSE" }, { "license_key": "proguard-exception-2.0", "spdx_license_key": "LicenseRef-scancode-proguard-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "proguard-exception-2.0.json", "yml": "proguard-exception-2.0.yml", "html": "proguard-exception-2.0.html", "text": "proguard-exception-2.0.LICENSE" }, { "license_key": "proprietary-license", "spdx_license_key": "LicenseRef-scancode-proprietary-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "proprietary-license.json", "yml": "proprietary-license.yml", "html": "proprietary-license.html", "text": "proprietary-license.LICENSE" }, { "license_key": "proprietary", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "proprietary.json", "yml": "proprietary.yml", "html": "proprietary.html", "text": "proprietary.LICENSE" }, { "license_key": "prosperity-1.0.1", "spdx_license_key": "LicenseRef-scancode-prosperity-1.0.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "prosperity-1.0.1.json", "yml": "prosperity-1.0.1.yml", "html": "prosperity-1.0.1.html", "text": "prosperity-1.0.1.LICENSE" }, { "license_key": "prosperity-2.0", "spdx_license_key": "LicenseRef-scancode-prosperity-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "prosperity-2.0.json", "yml": "prosperity-2.0.yml", "html": "prosperity-2.0.html", "text": "prosperity-2.0.LICENSE" }, { "license_key": "prosperity-3.0", "spdx_license_key": "LicenseRef-scancode-prosperity-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "prosperity-3.0.json", "yml": "prosperity-3.0.yml", "html": "prosperity-3.0.html", "text": "prosperity-3.0.LICENSE" }, { "license_key": "protobuf", "spdx_license_key": "LicenseRef-scancode-protobuf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "protobuf.json", "yml": "protobuf.yml", "html": "protobuf.html", "text": "protobuf.LICENSE" }, { "license_key": "ps-or-pdf-font-exception-20170817", "spdx_license_key": "PS-or-PDF-font-exception-20170817", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ps-or-pdf-font-exception-20170817.json", "yml": "ps-or-pdf-font-exception-20170817.yml", "html": "ps-or-pdf-font-exception-20170817.html", "text": "ps-or-pdf-font-exception-20170817.LICENSE" }, { "license_key": "psf-2.0", "spdx_license_key": "PSF-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "psf-2.0.json", "yml": "psf-2.0.yml", "html": "psf-2.0.html", "text": "psf-2.0.LICENSE" }, { "license_key": "psf-3.7.2", "spdx_license_key": "LicenseRef-scancode-psf-3.7.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "psf-3.7.2.json", "yml": "psf-3.7.2.yml", "html": "psf-3.7.2.html", "text": "psf-3.7.2.LICENSE" }, { "license_key": "psfrag", "spdx_license_key": "psfrag", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "psfrag.json", "yml": "psfrag.yml", "html": "psfrag.html", "text": "psfrag.LICENSE" }, { "license_key": "psutils", "spdx_license_key": "psutils", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "psutils.json", "yml": "psutils.yml", "html": "psutils.html", "text": "psutils.LICENSE" }, { "license_key": "psytec-freesoft", "spdx_license_key": "LicenseRef-scancode-psytec-freesoft", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "psytec-freesoft.json", "yml": "psytec-freesoft.yml", "html": "psytec-freesoft.html", "text": "psytec-freesoft.LICENSE" }, { "license_key": "public-domain-disclaimer", "spdx_license_key": "LicenseRef-scancode-public-domain-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "public-domain-disclaimer.json", "yml": "public-domain-disclaimer.yml", "html": "public-domain-disclaimer.html", "text": "public-domain-disclaimer.LICENSE" }, { "license_key": "public-domain", "spdx_license_key": "LicenseRef-scancode-public-domain", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "public-domain.json", "yml": "public-domain.yml", "html": "public-domain.html", "text": "public-domain.LICENSE" }, { "license_key": "purdue-bsd", "spdx_license_key": "LicenseRef-scancode-purdue-bsd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "purdue-bsd.json", "yml": "purdue-bsd.yml", "html": "purdue-bsd.html", "text": "purdue-bsd.LICENSE" }, { "license_key": "pycrypto", "spdx_license_key": "LicenseRef-scancode-pycrypto", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pycrypto.json", "yml": "pycrypto.yml", "html": "pycrypto.html", "text": "pycrypto.LICENSE" }, { "license_key": "pygres-2.2", "spdx_license_key": "LicenseRef-scancode-pygres-2.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "pygres-2.2.json", "yml": "pygres-2.2.yml", "html": "pygres-2.2.html", "text": "pygres-2.2.LICENSE" }, { "license_key": "python-cwi", "spdx_license_key": "LicenseRef-scancode-python-cwi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "python-cwi.json", "yml": "python-cwi.yml", "html": "python-cwi.html", "text": "python-cwi.LICENSE" }, { "license_key": "python", "spdx_license_key": "Python-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "python.json", "yml": "python.yml", "html": "python.html", "text": "python.LICENSE" }, { "license_key": "qaplug", "spdx_license_key": "LicenseRef-scancode-qaplug", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qaplug.json", "yml": "qaplug.yml", "html": "qaplug.html", "text": "qaplug.LICENSE" }, { "license_key": "qca-technology", "spdx_license_key": "LicenseRef-scancode-qca-technology", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qca-technology.json", "yml": "qca-technology.yml", "html": "qca-technology.html", "text": "qca-technology.LICENSE" }, { "license_key": "qcad-exception-gpl", "spdx_license_key": "LicenseRef-scancode-qcad-exception-gpl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qcad-exception-gpl.json", "yml": "qcad-exception-gpl.yml", "html": "qcad-exception-gpl.html", "text": "qcad-exception-gpl.LICENSE" }, { "license_key": "qhull", "spdx_license_key": "Qhull", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qhull.json", "yml": "qhull.yml", "html": "qhull.html", "text": "qhull.LICENSE" }, { "license_key": "qlogic-firmware", "spdx_license_key": "LicenseRef-scancode-qlogic-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qlogic-firmware.json", "yml": "qlogic-firmware.yml", "html": "qlogic-firmware.html", "text": "qlogic-firmware.LICENSE" }, { "license_key": "qlogic-microcode", "spdx_license_key": "LicenseRef-scancode-qlogic-microcode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qlogic-microcode.json", "yml": "qlogic-microcode.yml", "html": "qlogic-microcode.html", "text": "qlogic-microcode.LICENSE" }, { "license_key": "qpl-1.0", "spdx_license_key": "QPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qpl-1.0.json", "yml": "qpl-1.0.yml", "html": "qpl-1.0.html", "text": "qpl-1.0.LICENSE" }, { "license_key": "qpopper", "spdx_license_key": "LicenseRef-scancode-qpopper", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qpopper.json", "yml": "qpopper.yml", "html": "qpopper.html", "text": "qpopper.LICENSE" }, { "license_key": "qt-commercial-1.1", "spdx_license_key": "LicenseRef-scancode-qt-commercial-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qt-commercial-1.1.json", "yml": "qt-commercial-1.1.yml", "html": "qt-commercial-1.1.html", "text": "qt-commercial-1.1.LICENSE" }, { "license_key": "qt-company-exception-2017-lgpl-2.1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": true, "json": "qt-company-exception-2017-lgpl-2.1.json", "yml": "qt-company-exception-2017-lgpl-2.1.yml", "html": "qt-company-exception-2017-lgpl-2.1.html", "text": "qt-company-exception-2017-lgpl-2.1.LICENSE" }, { "license_key": "qt-company-exception-lgpl-2.1", "spdx_license_key": "LicenseRef-scancode-qt-company-exception-lgpl-2.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qt-company-exception-lgpl-2.1.json", "yml": "qt-company-exception-lgpl-2.1.yml", "html": "qt-company-exception-lgpl-2.1.html", "text": "qt-company-exception-lgpl-2.1.LICENSE" }, { "license_key": "qt-gpl-exception-1.0", "spdx_license_key": "Qt-GPL-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qt-gpl-exception-1.0.json", "yml": "qt-gpl-exception-1.0.yml", "html": "qt-gpl-exception-1.0.html", "text": "qt-gpl-exception-1.0.LICENSE" }, { "license_key": "qt-kde-linking-exception", "spdx_license_key": "LicenseRef-scancode-qt-kde-linking-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qt-kde-linking-exception.json", "yml": "qt-kde-linking-exception.yml", "html": "qt-kde-linking-exception.html", "text": "qt-kde-linking-exception.LICENSE" }, { "license_key": "qt-lgpl-exception-1.1", "spdx_license_key": "Qt-LGPL-exception-1.1", "other_spdx_license_keys": [ "Nokia-Qt-exception-1.1" ], "is_exception": true, "is_deprecated": false, "json": "qt-lgpl-exception-1.1.json", "yml": "qt-lgpl-exception-1.1.yml", "html": "qt-lgpl-exception-1.1.html", "text": "qt-lgpl-exception-1.1.LICENSE" }, { "license_key": "qt-qca-exception-2.0", "spdx_license_key": "LicenseRef-scancode-qt-qca-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qt-qca-exception-2.0.json", "yml": "qt-qca-exception-2.0.yml", "html": "qt-qca-exception-2.0.html", "text": "qt-qca-exception-2.0.LICENSE" }, { "license_key": "qualcomm-iso", "spdx_license_key": "LicenseRef-scancode-qualcomm-iso", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qualcomm-iso.json", "yml": "qualcomm-iso.yml", "html": "qualcomm-iso.html", "text": "qualcomm-iso.LICENSE" }, { "license_key": "qualcomm-turing", "spdx_license_key": "LicenseRef-scancode-qualcomm-turing", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "qualcomm-turing.json", "yml": "qualcomm-turing.yml", "html": "qualcomm-turing.html", "text": "qualcomm-turing.LICENSE" }, { "license_key": "quicktime", "spdx_license_key": "LicenseRef-scancode-quicktime", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "quicktime.json", "yml": "quicktime.yml", "html": "quicktime.html", "text": "quicktime.LICENSE" }, { "license_key": "quin-street", "spdx_license_key": "LicenseRef-scancode-quin-street", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "quin-street.json", "yml": "quin-street.yml", "html": "quin-street.html", "text": "quin-street.LICENSE" }, { "license_key": "quirksmode", "spdx_license_key": "LicenseRef-scancode-quirksmode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "quirksmode.json", "yml": "quirksmode.yml", "html": "quirksmode.html", "text": "quirksmode.LICENSE" }, { "license_key": "qwt-1.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "qwt-1.0.json", "yml": "qwt-1.0.yml", "html": "qwt-1.0.html", "text": "qwt-1.0.LICENSE" }, { "license_key": "qwt-exception-1.0", "spdx_license_key": "Qwt-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "qwt-exception-1.0.json", "yml": "qwt-exception-1.0.yml", "html": "qwt-exception-1.0.html", "text": "qwt-exception-1.0.LICENSE" }, { "license_key": "rackspace", "spdx_license_key": "LicenseRef-scancode-rackspace", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rackspace.json", "yml": "rackspace.yml", "html": "rackspace.html", "text": "rackspace.LICENSE" }, { "license_key": "radvd", "spdx_license_key": "LicenseRef-scancode-radvd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "radvd.json", "yml": "radvd.yml", "html": "radvd.html", "text": "radvd.LICENSE" }, { "license_key": "ralf-corsepius", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ralf-corsepius.json", "yml": "ralf-corsepius.yml", "html": "ralf-corsepius.html", "text": "ralf-corsepius.LICENSE" }, { "license_key": "ralink-firmware", "spdx_license_key": "LicenseRef-scancode-ralink-firmware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ralink-firmware.json", "yml": "ralink-firmware.yml", "html": "ralink-firmware.html", "text": "ralink-firmware.LICENSE" }, { "license_key": "rar-winrar-eula", "spdx_license_key": "LicenseRef-scancode-rar-winrar-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rar-winrar-eula.json", "yml": "rar-winrar-eula.yml", "html": "rar-winrar-eula.html", "text": "rar-winrar-eula.LICENSE" }, { "license_key": "rcsl-2.0", "spdx_license_key": "LicenseRef-scancode-rcsl-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rcsl-2.0.json", "yml": "rcsl-2.0.yml", "html": "rcsl-2.0.html", "text": "rcsl-2.0.LICENSE" }, { "license_key": "rcsl-3.0", "spdx_license_key": "LicenseRef-scancode-rcsl-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rcsl-3.0.json", "yml": "rcsl-3.0.yml", "html": "rcsl-3.0.html", "text": "rcsl-3.0.LICENSE" }, { "license_key": "rdisc", "spdx_license_key": "Rdisc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rdisc.json", "yml": "rdisc.yml", "html": "rdisc.html", "text": "rdisc.LICENSE" }, { "license_key": "realm-platform-extension-2017", "spdx_license_key": "LicenseRef-scancode-realm-platform-extension-2017", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "realm-platform-extension-2017.json", "yml": "realm-platform-extension-2017.yml", "html": "realm-platform-extension-2017.html", "text": "realm-platform-extension-2017.LICENSE" }, { "license_key": "red-hat-attribution", "spdx_license_key": "LicenseRef-scancode-red-hat-attribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "red-hat-attribution.json", "yml": "red-hat-attribution.yml", "html": "red-hat-attribution.html", "text": "red-hat-attribution.LICENSE" }, { "license_key": "red-hat-bsd-simplified", "spdx_license_key": "LicenseRef-scancode-red-hat-bsd-simplified", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "red-hat-bsd-simplified.json", "yml": "red-hat-bsd-simplified.yml", "html": "red-hat-bsd-simplified.html", "text": "red-hat-bsd-simplified.LICENSE" }, { "license_key": "red-hat-logos", "spdx_license_key": "LicenseRef-scancode-red-hat-logos", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "red-hat-logos.json", "yml": "red-hat-logos.yml", "html": "red-hat-logos.html", "text": "red-hat-logos.LICENSE" }, { "license_key": "red-hat-trademarks", "spdx_license_key": "LicenseRef-scancode-red-hat-trademarks", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "red-hat-trademarks.json", "yml": "red-hat-trademarks.yml", "html": "red-hat-trademarks.html", "text": "red-hat-trademarks.LICENSE" }, { "license_key": "redis-source-available-1.0", "spdx_license_key": "LicenseRef-scancode-redis-source-available-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "redis-source-available-1.0.json", "yml": "redis-source-available-1.0.yml", "html": "redis-source-available-1.0.html", "text": "redis-source-available-1.0.LICENSE" }, { "license_key": "regexp", "spdx_license_key": "Spencer-86", "other_spdx_license_keys": [ "LicenseRef-scancode-regexp" ], "is_exception": false, "is_deprecated": false, "json": "regexp.json", "yml": "regexp.yml", "html": "regexp.html", "text": "regexp.LICENSE" }, { "license_key": "reportbug", "spdx_license_key": "LicenseRef-scancode-reportbug", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "reportbug.json", "yml": "reportbug.yml", "html": "reportbug.html", "text": "reportbug.LICENSE" }, { "license_key": "repoze", "spdx_license_key": "BSD-3-Clause-Modification", "other_spdx_license_keys": [ "LicenseRef-scancode-repoze" ], "is_exception": false, "is_deprecated": false, "json": "repoze.json", "yml": "repoze.yml", "html": "repoze.html", "text": "repoze.LICENSE" }, { "license_key": "rh-eula-lgpl", "spdx_license_key": "LicenseRef-scancode-rh-eula-lgpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rh-eula-lgpl.json", "yml": "rh-eula-lgpl.yml", "html": "rh-eula-lgpl.html", "text": "rh-eula-lgpl.LICENSE" }, { "license_key": "rh-eula", "spdx_license_key": "LicenseRef-scancode-rh-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rh-eula.json", "yml": "rh-eula.yml", "html": "rh-eula.html", "text": "rh-eula.LICENSE" }, { "license_key": "ricoh-1.0", "spdx_license_key": "RSCPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ricoh-1.0.json", "yml": "ricoh-1.0.yml", "html": "ricoh-1.0.html", "text": "ricoh-1.0.LICENSE" }, { "license_key": "riverbank-sip", "spdx_license_key": "LicenseRef-scancode-riverbank-sip", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "riverbank-sip.json", "yml": "riverbank-sip.yml", "html": "riverbank-sip.html", "text": "riverbank-sip.LICENSE" }, { "license_key": "robert-hubley", "spdx_license_key": "LicenseRef-scancode-robert-hubley", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "robert-hubley.json", "yml": "robert-hubley.yml", "html": "robert-hubley.html", "text": "robert-hubley.LICENSE" }, { "license_key": "rogue-wave", "spdx_license_key": "LicenseRef-scancode-rogue-wave", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rogue-wave.json", "yml": "rogue-wave.yml", "html": "rogue-wave.html", "text": "rogue-wave.LICENSE" }, { "license_key": "rpl-1.1", "spdx_license_key": "RPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rpl-1.1.json", "yml": "rpl-1.1.yml", "html": "rpl-1.1.html", "text": "rpl-1.1.LICENSE" }, { "license_key": "rpl-1.5", "spdx_license_key": "RPL-1.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rpl-1.5.json", "yml": "rpl-1.5.yml", "html": "rpl-1.5.html", "text": "rpl-1.5.LICENSE" }, { "license_key": "rpsl-1.0", "spdx_license_key": "RPSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rpsl-1.0.json", "yml": "rpsl-1.0.yml", "html": "rpsl-1.0.html", "text": "rpsl-1.0.LICENSE" }, { "license_key": "rrdtool-floss-exception-2.0", "spdx_license_key": "LicenseRef-scancode-rrdtool-floss-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "rrdtool-floss-exception-2.0.json", "yml": "rrdtool-floss-exception-2.0.yml", "html": "rrdtool-floss-exception-2.0.html", "text": "rrdtool-floss-exception-2.0.LICENSE" }, { "license_key": "rsa-1990", "spdx_license_key": "LicenseRef-scancode-rsa-1990", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-1990.json", "yml": "rsa-1990.yml", "html": "rsa-1990.html", "text": "rsa-1990.LICENSE" }, { "license_key": "rsa-cryptoki", "spdx_license_key": "LicenseRef-scancode-rsa-cryptoki", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-cryptoki.json", "yml": "rsa-cryptoki.yml", "html": "rsa-cryptoki.html", "text": "rsa-cryptoki.LICENSE" }, { "license_key": "rsa-demo", "spdx_license_key": "LicenseRef-scancode-rsa-demo", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-demo.json", "yml": "rsa-demo.yml", "html": "rsa-demo.html", "text": "rsa-demo.LICENSE" }, { "license_key": "rsa-md2", "spdx_license_key": "LicenseRef-scancode-rsa-md2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-md2.json", "yml": "rsa-md2.yml", "html": "rsa-md2.html", "text": "rsa-md2.LICENSE" }, { "license_key": "rsa-md4", "spdx_license_key": "LicenseRef-scancode-rsa-md4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-md4.json", "yml": "rsa-md4.yml", "html": "rsa-md4.html", "text": "rsa-md4.LICENSE" }, { "license_key": "rsa-md5", "spdx_license_key": "RSA-MD", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-md5.json", "yml": "rsa-md5.yml", "html": "rsa-md5.html", "text": "rsa-md5.LICENSE" }, { "license_key": "rsa-proprietary", "spdx_license_key": "LicenseRef-scancode-rsa-proprietary", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rsa-proprietary.json", "yml": "rsa-proprietary.yml", "html": "rsa-proprietary.html", "text": "rsa-proprietary.LICENSE" }, { "license_key": "rtools-util", "spdx_license_key": "LicenseRef-scancode-rtools-util", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rtools-util.json", "yml": "rtools-util.yml", "html": "rtools-util.html", "text": "rtools-util.LICENSE" }, { "license_key": "ruby", "spdx_license_key": "Ruby", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ruby.json", "yml": "ruby.yml", "html": "ruby.html", "text": "ruby.LICENSE" }, { "license_key": "rubyencoder-commercial", "spdx_license_key": "LicenseRef-scancode-rubyencoder-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rubyencoder-commercial.json", "yml": "rubyencoder-commercial.yml", "html": "rubyencoder-commercial.html", "text": "rubyencoder-commercial.LICENSE" }, { "license_key": "rubyencoder-loader", "spdx_license_key": "LicenseRef-scancode-rubyencoder-loader", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rubyencoder-loader.json", "yml": "rubyencoder-loader.yml", "html": "rubyencoder-loader.html", "text": "rubyencoder-loader.LICENSE" }, { "license_key": "rute", "spdx_license_key": "LicenseRef-scancode-rute", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "rute.json", "yml": "rute.yml", "html": "rute.html", "text": "rute.LICENSE" }, { "license_key": "rxtx-exception-lgpl-2.1", "spdx_license_key": "LicenseRef-scancode-rxtx-exception-lgpl-2.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "rxtx-exception-lgpl-2.1.json", "yml": "rxtx-exception-lgpl-2.1.yml", "html": "rxtx-exception-lgpl-2.1.html", "text": "rxtx-exception-lgpl-2.1.LICENSE" }, { "license_key": "ryszard-szopa", "spdx_license_key": "LicenseRef-scancode-ryszard-szopa", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ryszard-szopa.json", "yml": "ryszard-szopa.yml", "html": "ryszard-szopa.html", "text": "ryszard-szopa.LICENSE" }, { "license_key": "saas-mit", "spdx_license_key": "LicenseRef-scancode-saas-mit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "saas-mit.json", "yml": "saas-mit.yml", "html": "saas-mit.html", "text": "saas-mit.LICENSE" }, { "license_key": "saf", "spdx_license_key": "LicenseRef-scancode-saf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "saf.json", "yml": "saf.yml", "html": "saf.html", "text": "saf.LICENSE" }, { "license_key": "safecopy-eula", "spdx_license_key": "LicenseRef-scancode-safecopy-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "safecopy-eula.json", "yml": "safecopy-eula.yml", "html": "safecopy-eula.html", "text": "safecopy-eula.LICENSE" }, { "license_key": "san-francisco-font", "spdx_license_key": "LicenseRef-scancode-san-francisco-font", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "san-francisco-font.json", "yml": "san-francisco-font.yml", "html": "san-francisco-font.html", "text": "san-francisco-font.LICENSE" }, { "license_key": "sandeep", "spdx_license_key": "LicenseRef-scancode-sandeep", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sandeep.json", "yml": "sandeep.yml", "html": "sandeep.html", "text": "sandeep.LICENSE" }, { "license_key": "sane-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-sane-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "sane-exception-2.0-plus.json", "yml": "sane-exception-2.0-plus.yml", "html": "sane-exception-2.0-plus.html", "text": "sane-exception-2.0-plus.LICENSE" }, { "license_key": "sash", "spdx_license_key": "LicenseRef-scancode-sash", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sash.json", "yml": "sash.yml", "html": "sash.html", "text": "sash.LICENSE" }, { "license_key": "sata", "spdx_license_key": "LicenseRef-scancode-sata", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sata.json", "yml": "sata.yml", "html": "sata.html", "text": "sata.LICENSE" }, { "license_key": "sax-pd", "spdx_license_key": "SAX-PD", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sax-pd.json", "yml": "sax-pd.yml", "html": "sax-pd.html", "text": "sax-pd.LICENSE" }, { "license_key": "saxpath", "spdx_license_key": "Saxpath", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "saxpath.json", "yml": "saxpath.yml", "html": "saxpath.html", "text": "saxpath.LICENSE" }, { "license_key": "sbia-b", "spdx_license_key": "LicenseRef-scancode-sbia-b", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sbia-b.json", "yml": "sbia-b.yml", "html": "sbia-b.html", "text": "sbia-b.LICENSE" }, { "license_key": "scancode-acknowledgment", "spdx_license_key": "LicenseRef-scancode-scancode-acknowledgment", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scancode-acknowledgment.json", "yml": "scancode-acknowledgment.yml", "html": "scancode-acknowledgment.html", "text": "scancode-acknowledgment.LICENSE" }, { "license_key": "scanlogd-license", "spdx_license_key": "LicenseRef-scancode-scanlogd-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scanlogd-license.json", "yml": "scanlogd-license.yml", "html": "scanlogd-license.html", "text": "scanlogd-license.LICENSE" }, { "license_key": "scansoft-1.2", "spdx_license_key": "LicenseRef-scancode-scansoft-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scansoft-1.2.json", "yml": "scansoft-1.2.yml", "html": "scansoft-1.2.html", "text": "scansoft-1.2.LICENSE" }, { "license_key": "scea-1.0", "spdx_license_key": "SCEA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scea-1.0.json", "yml": "scea-1.0.yml", "html": "scea-1.0.html", "text": "scea-1.0.LICENSE" }, { "license_key": "scilab-en", "spdx_license_key": "LicenseRef-scancode-scilba-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scilab-en.json", "yml": "scilab-en.yml", "html": "scilab-en.html", "text": "scilab-en.LICENSE" }, { "license_key": "scola-en", "spdx_license_key": "LicenseRef-scancode-scola-en", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scola-en.json", "yml": "scola-en.yml", "html": "scola-en.html", "text": "scola-en.LICENSE" }, { "license_key": "scribbles", "spdx_license_key": "LicenseRef-scancode-scribbles", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scribbles.json", "yml": "scribbles.yml", "html": "scribbles.html", "text": "scribbles.LICENSE" }, { "license_key": "script-asylum", "spdx_license_key": "LicenseRef-scancode-script-asylum", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "script-asylum.json", "yml": "script-asylum.yml", "html": "script-asylum.html", "text": "script-asylum.LICENSE" }, { "license_key": "script-nikhilk", "spdx_license_key": "LicenseRef-scancode-script-nikhilk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "script-nikhilk.json", "yml": "script-nikhilk.yml", "html": "script-nikhilk.html", "text": "script-nikhilk.LICENSE" }, { "license_key": "scrub", "spdx_license_key": "LicenseRef-scancode-scrub", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scrub.json", "yml": "scrub.yml", "html": "scrub.html", "text": "scrub.LICENSE" }, { "license_key": "scsl-3.0", "spdx_license_key": "LicenseRef-scancode-scsl-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "scsl-3.0.json", "yml": "scsl-3.0.yml", "html": "scsl-3.0.html", "text": "scsl-3.0.LICENSE" }, { "license_key": "secret-labs-2011", "spdx_license_key": "LicenseRef-scancode-secret-labs-2011", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "secret-labs-2011.json", "yml": "secret-labs-2011.yml", "html": "secret-labs-2011.html", "text": "secret-labs-2011.LICENSE" }, { "license_key": "see-license", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "see-license.json", "yml": "see-license.yml", "html": "see-license.html", "text": "see-license.LICENSE" }, { "license_key": "selinux-nsa-declaration-1.0", "spdx_license_key": "libselinux-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "selinux-nsa-declaration-1.0.json", "yml": "selinux-nsa-declaration-1.0.yml", "html": "selinux-nsa-declaration-1.0.html", "text": "selinux-nsa-declaration-1.0.LICENSE" }, { "license_key": "sencha-app-floss-exception", "spdx_license_key": "LicenseRef-scancode-sencha-app-floss-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "sencha-app-floss-exception.json", "yml": "sencha-app-floss-exception.yml", "html": "sencha-app-floss-exception.html", "text": "sencha-app-floss-exception.LICENSE" }, { "license_key": "sencha-commercial-3.17", "spdx_license_key": "LicenseRef-scancode-sencha-commercial-3.17", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sencha-commercial-3.17.json", "yml": "sencha-commercial-3.17.yml", "html": "sencha-commercial-3.17.html", "text": "sencha-commercial-3.17.LICENSE" }, { "license_key": "sencha-commercial-3.9", "spdx_license_key": "LicenseRef-scancode-sencha-commercial-3.9", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sencha-commercial-3.9.json", "yml": "sencha-commercial-3.9.yml", "html": "sencha-commercial-3.9.html", "text": "sencha-commercial-3.9.LICENSE" }, { "license_key": "sencha-commercial", "spdx_license_key": "LicenseRef-scancode-sencha-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sencha-commercial.json", "yml": "sencha-commercial.yml", "html": "sencha-commercial.html", "text": "sencha-commercial.LICENSE" }, { "license_key": "sencha-dev-floss-exception", "spdx_license_key": "LicenseRef-scancode-sencha-dev-floss-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "sencha-dev-floss-exception.json", "yml": "sencha-dev-floss-exception.yml", "html": "sencha-dev-floss-exception.html", "text": "sencha-dev-floss-exception.LICENSE" }, { "license_key": "sendmail-8.23", "spdx_license_key": "Sendmail-8.23", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sendmail-8.23.json", "yml": "sendmail-8.23.yml", "html": "sendmail-8.23.html", "text": "sendmail-8.23.LICENSE" }, { "license_key": "sendmail", "spdx_license_key": "Sendmail", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sendmail.json", "yml": "sendmail.yml", "html": "sendmail.html", "text": "sendmail.LICENSE" }, { "license_key": "service-comp-arch", "spdx_license_key": "LicenseRef-scancode-service-comp-arch", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "service-comp-arch.json", "yml": "service-comp-arch.yml", "html": "service-comp-arch.html", "text": "service-comp-arch.LICENSE" }, { "license_key": "sfl-license", "spdx_license_key": "iMatix", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sfl-license.json", "yml": "sfl-license.yml", "html": "sfl-license.html", "text": "sfl-license.LICENSE" }, { "license_key": "sgi-cid-1.0", "spdx_license_key": "LicenseRef-scancode-sgi-cid-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sgi-cid-1.0.json", "yml": "sgi-cid-1.0.yml", "html": "sgi-cid-1.0.html", "text": "sgi-cid-1.0.LICENSE" }, { "license_key": "sgi-freeb-1.1", "spdx_license_key": "SGI-B-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sgi-freeb-1.1.json", "yml": "sgi-freeb-1.1.yml", "html": "sgi-freeb-1.1.html", "text": "sgi-freeb-1.1.LICENSE" }, { "license_key": "sgi-freeb-2.0", "spdx_license_key": "SGI-B-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sgi-freeb-2.0.json", "yml": "sgi-freeb-2.0.yml", "html": "sgi-freeb-2.0.html", "text": "sgi-freeb-2.0.LICENSE" }, { "license_key": "sgi-fslb-1.0", "spdx_license_key": "SGI-B-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sgi-fslb-1.0.json", "yml": "sgi-fslb-1.0.yml", "html": "sgi-fslb-1.0.html", "text": "sgi-fslb-1.0.LICENSE" }, { "license_key": "sgi-glx-1.0", "spdx_license_key": "LicenseRef-scancode-sgi-glx-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sgi-glx-1.0.json", "yml": "sgi-glx-1.0.yml", "html": "sgi-glx-1.0.html", "text": "sgi-glx-1.0.LICENSE" }, { "license_key": "sglib", "spdx_license_key": "LicenseRef-scancode-sglib", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sglib.json", "yml": "sglib.yml", "html": "sglib.html", "text": "sglib.LICENSE" }, { "license_key": "shavlik-eula", "spdx_license_key": "LicenseRef-scancode-shavlik-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "shavlik-eula.json", "yml": "shavlik-eula.yml", "html": "shavlik-eula.html", "text": "shavlik-eula.LICENSE" }, { "license_key": "shital-shah", "spdx_license_key": "LicenseRef-scancode-shital-shah", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "shital-shah.json", "yml": "shital-shah.yml", "html": "shital-shah.html", "text": "shital-shah.LICENSE" }, { "license_key": "shl-0.5", "spdx_license_key": "SHL-0.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "shl-0.5.json", "yml": "shl-0.5.yml", "html": "shl-0.5.html", "text": "shl-0.5.LICENSE" }, { "license_key": "shl-0.51", "spdx_license_key": "SHL-0.51", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "shl-0.51.json", "yml": "shl-0.51.yml", "html": "shl-0.51.html", "text": "shl-0.51.LICENSE" }, { "license_key": "shl-2.0", "spdx_license_key": "SHL-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "shl-2.0.json", "yml": "shl-2.0.yml", "html": "shl-2.0.html", "text": "shl-2.0.LICENSE" }, { "license_key": "shl-2.1", "spdx_license_key": "SHL-2.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "shl-2.1.json", "yml": "shl-2.1.yml", "html": "shl-2.1.html", "text": "shl-2.1.LICENSE" }, { "license_key": "simpl-1.1", "spdx_license_key": "LicenseRef-scancode-simpl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "simpl-1.1.json", "yml": "simpl-1.1.yml", "html": "simpl-1.1.html", "text": "simpl-1.1.LICENSE" }, { "license_key": "simpl-2.0", "spdx_license_key": "SimPL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "simpl-2.0.json", "yml": "simpl-2.0.yml", "html": "simpl-2.0.html", "text": "simpl-2.0.LICENSE" }, { "license_key": "sleepycat", "spdx_license_key": "Sleepycat", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sleepycat.json", "yml": "sleepycat.yml", "html": "sleepycat.html", "text": "sleepycat.LICENSE" }, { "license_key": "slf4j-2005", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "slf4j-2005.json", "yml": "slf4j-2005.yml", "html": "slf4j-2005.html", "text": "slf4j-2005.LICENSE" }, { "license_key": "slf4j-2008", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "slf4j-2008.json", "yml": "slf4j-2008.yml", "html": "slf4j-2008.html", "text": "slf4j-2008.LICENSE" }, { "license_key": "slysoft-eula", "spdx_license_key": "LicenseRef-scancode-slysoft-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "slysoft-eula.json", "yml": "slysoft-eula.yml", "html": "slysoft-eula.html", "text": "slysoft-eula.LICENSE" }, { "license_key": "smail-gpl", "spdx_license_key": "LicenseRef-scancode-smail-gpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "smail-gpl.json", "yml": "smail-gpl.yml", "html": "smail-gpl.html", "text": "smail-gpl.LICENSE" }, { "license_key": "smartlabs-freeware", "spdx_license_key": "LicenseRef-scancode-smartlabs-freeware", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "smartlabs-freeware.json", "yml": "smartlabs-freeware.yml", "html": "smartlabs-freeware.html", "text": "smartlabs-freeware.LICENSE" }, { "license_key": "smppl", "spdx_license_key": "SMPPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "smppl.json", "yml": "smppl.yml", "html": "smppl.html", "text": "smppl.LICENSE" }, { "license_key": "snia", "spdx_license_key": "SNIA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "snia.json", "yml": "snia.yml", "html": "snia.html", "text": "snia.LICENSE" }, { "license_key": "snmp4j-smi", "spdx_license_key": "LicenseRef-scancode-snmp4j-smi", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "snmp4j-smi.json", "yml": "snmp4j-smi.yml", "html": "snmp4j-smi.html", "text": "snmp4j-smi.LICENSE" }, { "license_key": "snprintf", "spdx_license_key": "LicenseRef-scancode-snprintf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "snprintf.json", "yml": "snprintf.yml", "html": "snprintf.html", "text": "snprintf.LICENSE" }, { "license_key": "softerra-ldap-browser-eula", "spdx_license_key": "LicenseRef-scancode-softerra-ldap-browser-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "softerra-ldap-browser-eula.json", "yml": "softerra-ldap-browser-eula.yml", "html": "softerra-ldap-browser-eula.html", "text": "softerra-ldap-browser-eula.LICENSE" }, { "license_key": "softfloat-2.0", "spdx_license_key": "LicenseRef-scancode-softfloat-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "softfloat-2.0.json", "yml": "softfloat-2.0.yml", "html": "softfloat-2.0.html", "text": "softfloat-2.0.LICENSE" }, { "license_key": "softfloat", "spdx_license_key": "LicenseRef-scancode-softfloat", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "softfloat.json", "yml": "softfloat.yml", "html": "softfloat.html", "text": "softfloat.LICENSE" }, { "license_key": "softsurfer", "spdx_license_key": "LicenseRef-scancode-softsurfer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "softsurfer.json", "yml": "softsurfer.yml", "html": "softsurfer.html", "text": "softsurfer.LICENSE" }, { "license_key": "spark-jive", "spdx_license_key": "LicenseRef-scancode-spark-jive", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "spark-jive.json", "yml": "spark-jive.yml", "html": "spark-jive.html", "text": "spark-jive.LICENSE" }, { "license_key": "sparky", "spdx_license_key": "LicenseRef-scancode-sparky", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sparky.json", "yml": "sparky.yml", "html": "sparky.html", "text": "sparky.LICENSE" }, { "license_key": "speechworks-1.1", "spdx_license_key": "LicenseRef-scancode-speechworks-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "speechworks-1.1.json", "yml": "speechworks-1.1.yml", "html": "speechworks-1.1.html", "text": "speechworks-1.1.LICENSE" }, { "license_key": "spell-checker-exception-lgpl-2.1-plus", "spdx_license_key": "LicenseRef-scancode-spell-checker-exception-lgpl-2.1-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "spell-checker-exception-lgpl-2.1-plus.json", "yml": "spell-checker-exception-lgpl-2.1-plus.yml", "html": "spell-checker-exception-lgpl-2.1-plus.html", "text": "spell-checker-exception-lgpl-2.1-plus.LICENSE" }, { "license_key": "spl-1.0", "spdx_license_key": "SPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "spl-1.0.json", "yml": "spl-1.0.yml", "html": "spl-1.0.html", "text": "spl-1.0.LICENSE" }, { "license_key": "splunk-3pp-eula", "spdx_license_key": "LicenseRef-scancode-splunk-3pp-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "splunk-3pp-eula.json", "yml": "splunk-3pp-eula.yml", "html": "splunk-3pp-eula.html", "text": "splunk-3pp-eula.LICENSE" }, { "license_key": "splunk-mint-tos-2018", "spdx_license_key": "LicenseRef-scancode-splunk-mint-tos-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "splunk-mint-tos-2018.json", "yml": "splunk-mint-tos-2018.yml", "html": "splunk-mint-tos-2018.html", "text": "splunk-mint-tos-2018.LICENSE" }, { "license_key": "splunk-sla", "spdx_license_key": "LicenseRef-scancode-splunk-sla", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "splunk-sla.json", "yml": "splunk-sla.yml", "html": "splunk-sla.html", "text": "splunk-sla.LICENSE" }, { "license_key": "squeak", "spdx_license_key": "LicenseRef-scancode-squeak", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "squeak.json", "yml": "squeak.yml", "html": "squeak.html", "text": "squeak.LICENSE" }, { "license_key": "srgb", "spdx_license_key": "LicenseRef-scancode-srgb", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "srgb.json", "yml": "srgb.yml", "html": "srgb.html", "text": "srgb.LICENSE" }, { "license_key": "ssleay-windows", "spdx_license_key": "LicenseRef-scancode-ssleay-windows", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ssleay-windows.json", "yml": "ssleay-windows.yml", "html": "ssleay-windows.html", "text": "ssleay-windows.LICENSE" }, { "license_key": "ssleay", "spdx_license_key": "LicenseRef-scancode-ssleay", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ssleay.json", "yml": "ssleay.yml", "html": "ssleay.html", "text": "ssleay.LICENSE" }, { "license_key": "st-bsd-restricted", "spdx_license_key": "LicenseRef-scancode-st-bsd-restricted", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "st-bsd-restricted.json", "yml": "st-bsd-restricted.yml", "html": "st-bsd-restricted.html", "text": "st-bsd-restricted.LICENSE" }, { "license_key": "st-mcd-2.0", "spdx_license_key": "LicenseRef-scancode-st-mcd-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "st-mcd-2.0.json", "yml": "st-mcd-2.0.yml", "html": "st-mcd-2.0.html", "text": "st-mcd-2.0.LICENSE" }, { "license_key": "standard-ml-nj", "spdx_license_key": "SMLNJ", "other_spdx_license_keys": [ "StandardML-NJ" ], "is_exception": false, "is_deprecated": false, "json": "standard-ml-nj.json", "yml": "standard-ml-nj.yml", "html": "standard-ml-nj.html", "text": "standard-ml-nj.LICENSE" }, { "license_key": "stanford-mrouted", "spdx_license_key": "LicenseRef-scancode-stanford-mrouted", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stanford-mrouted.json", "yml": "stanford-mrouted.yml", "html": "stanford-mrouted.html", "text": "stanford-mrouted.LICENSE" }, { "license_key": "stanford-pvrg", "spdx_license_key": "LicenseRef-scancode-stanford-pvrg", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stanford-pvrg.json", "yml": "stanford-pvrg.yml", "html": "stanford-pvrg.html", "text": "stanford-pvrg.LICENSE" }, { "license_key": "statewizard", "spdx_license_key": "LicenseRef-scancode-statewizard", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "statewizard.json", "yml": "statewizard.yml", "html": "statewizard.html", "text": "statewizard.LICENSE" }, { "license_key": "stax", "spdx_license_key": "LicenseRef-scancode-stax", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stax.json", "yml": "stax.yml", "html": "stax.html", "text": "stax.LICENSE" }, { "license_key": "stlport-2000", "spdx_license_key": "LicenseRef-scancode-stlport-2000", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stlport-2000.json", "yml": "stlport-2000.yml", "html": "stlport-2000.html", "text": "stlport-2000.LICENSE" }, { "license_key": "stlport-4.5", "spdx_license_key": "LicenseRef-scancode-stlport-4.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stlport-4.5.json", "yml": "stlport-4.5.yml", "html": "stlport-4.5.html", "text": "stlport-4.5.LICENSE" }, { "license_key": "stmicroelectronics-centrallabs", "spdx_license_key": "LicenseRef-scancode-stmicroelectronics-centrallabs", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stmicroelectronics-centrallabs.json", "yml": "stmicroelectronics-centrallabs.yml", "html": "stmicroelectronics-centrallabs.html", "text": "stmicroelectronics-centrallabs.LICENSE" }, { "license_key": "stream-benchmark", "spdx_license_key": "LicenseRef-scancode-stream-benchmark", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stream-benchmark.json", "yml": "stream-benchmark.yml", "html": "stream-benchmark.html", "text": "stream-benchmark.LICENSE" }, { "license_key": "strongswan-exception", "spdx_license_key": "LicenseRef-scancode-strongswan-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "strongswan-exception.json", "yml": "strongswan-exception.yml", "html": "strongswan-exception.html", "text": "strongswan-exception.LICENSE" }, { "license_key": "stu-nicholls", "spdx_license_key": "LicenseRef-scancode-stu-nicholls", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "stu-nicholls.json", "yml": "stu-nicholls.yml", "html": "stu-nicholls.html", "text": "stu-nicholls.LICENSE" }, { "license_key": "subcommander-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-subcommander-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "subcommander-exception-2.0-plus.json", "yml": "subcommander-exception-2.0-plus.yml", "html": "subcommander-exception-2.0-plus.html", "text": "subcommander-exception-2.0-plus.LICENSE" }, { "license_key": "sugarcrm-1.1.3", "spdx_license_key": "SugarCRM-1.1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sugarcrm-1.1.3.json", "yml": "sugarcrm-1.1.3.yml", "html": "sugarcrm-1.1.3.html", "text": "sugarcrm-1.1.3.LICENSE" }, { "license_key": "sun-bcl-11-06", "spdx_license_key": "LicenseRef-scancode-sun-bcl-11-06", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-11-06.json", "yml": "sun-bcl-11-06.yml", "html": "sun-bcl-11-06.html", "text": "sun-bcl-11-06.LICENSE" }, { "license_key": "sun-bcl-11-07", "spdx_license_key": "LicenseRef-scancode-sun-bcl-11-07", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-11-07.json", "yml": "sun-bcl-11-07.yml", "html": "sun-bcl-11-07.html", "text": "sun-bcl-11-07.LICENSE" }, { "license_key": "sun-bcl-11-08", "spdx_license_key": "LicenseRef-scancode-sun-bcl-11-08", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-11-08.json", "yml": "sun-bcl-11-08.yml", "html": "sun-bcl-11-08.html", "text": "sun-bcl-11-08.LICENSE" }, { "license_key": "sun-bcl-j2re-1.2.x", "spdx_license_key": "LicenseRef-scancode-sun-bcl-j2re-1.2.x", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-j2re-1.2.x.json", "yml": "sun-bcl-j2re-1.2.x.yml", "html": "sun-bcl-j2re-1.2.x.html", "text": "sun-bcl-j2re-1.2.x.LICENSE" }, { "license_key": "sun-bcl-j2re-1.4.2", "spdx_license_key": "LicenseRef-scancode-sun-bcl-j2re-1.4.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-j2re-1.4.2.json", "yml": "sun-bcl-j2re-1.4.2.yml", "html": "sun-bcl-j2re-1.4.2.html", "text": "sun-bcl-j2re-1.4.2.LICENSE" }, { "license_key": "sun-bcl-j2re-1.4.x", "spdx_license_key": "LicenseRef-scancode-sun-bcl-j2re-1.4.x", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-j2re-1.4.x.json", "yml": "sun-bcl-j2re-1.4.x.yml", "html": "sun-bcl-j2re-1.4.x.html", "text": "sun-bcl-j2re-1.4.x.LICENSE" }, { "license_key": "sun-bcl-j2re-5.0", "spdx_license_key": "LicenseRef-scancode-sun-bcl-j2re-5.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-j2re-5.0.json", "yml": "sun-bcl-j2re-5.0.yml", "html": "sun-bcl-j2re-5.0.html", "text": "sun-bcl-j2re-5.0.LICENSE" }, { "license_key": "sun-bcl-java-servlet-imp-2.1.1", "spdx_license_key": "LicenseRef-scancode-sun-bcl-java-servlet-imp-2.1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-java-servlet-imp-2.1.1.json", "yml": "sun-bcl-java-servlet-imp-2.1.1.yml", "html": "sun-bcl-java-servlet-imp-2.1.1.html", "text": "sun-bcl-java-servlet-imp-2.1.1.LICENSE" }, { "license_key": "sun-bcl-javahelp", "spdx_license_key": "LicenseRef-scancode-sun-bcl-javahelp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-javahelp.json", "yml": "sun-bcl-javahelp.yml", "html": "sun-bcl-javahelp.html", "text": "sun-bcl-javahelp.LICENSE" }, { "license_key": "sun-bcl-jimi-sdk", "spdx_license_key": "LicenseRef-scancode-sun-bcl-jimi-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-jimi-sdk.json", "yml": "sun-bcl-jimi-sdk.yml", "html": "sun-bcl-jimi-sdk.html", "text": "sun-bcl-jimi-sdk.LICENSE" }, { "license_key": "sun-bcl-jre6", "spdx_license_key": "LicenseRef-scancode-sun-bcl-jre6", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-jre6.json", "yml": "sun-bcl-jre6.yml", "html": "sun-bcl-jre6.html", "text": "sun-bcl-jre6.LICENSE" }, { "license_key": "sun-bcl-jsmq", "spdx_license_key": "LicenseRef-scancode-sun-bcl-jsmq", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-jsmq.json", "yml": "sun-bcl-jsmq.yml", "html": "sun-bcl-jsmq.html", "text": "sun-bcl-jsmq.LICENSE" }, { "license_key": "sun-bcl-opendmk", "spdx_license_key": "LicenseRef-scancode-sun-bcl-opendmk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-opendmk.json", "yml": "sun-bcl-opendmk.yml", "html": "sun-bcl-opendmk.html", "text": "sun-bcl-opendmk.LICENSE" }, { "license_key": "sun-bcl-openjdk", "spdx_license_key": "LicenseRef-scancode-sun-bcl-openjdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-openjdk.json", "yml": "sun-bcl-openjdk.yml", "html": "sun-bcl-openjdk.html", "text": "sun-bcl-openjdk.LICENSE" }, { "license_key": "sun-bcl-sdk-1.3", "spdx_license_key": "LicenseRef-scancode-sun-bcl-sdk-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-sdk-1.3.json", "yml": "sun-bcl-sdk-1.3.yml", "html": "sun-bcl-sdk-1.3.html", "text": "sun-bcl-sdk-1.3.LICENSE" }, { "license_key": "sun-bcl-sdk-1.4.2", "spdx_license_key": "LicenseRef-scancode-sun-bcl-sdk-1.4.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-sdk-1.4.2.json", "yml": "sun-bcl-sdk-1.4.2.yml", "html": "sun-bcl-sdk-1.4.2.html", "text": "sun-bcl-sdk-1.4.2.LICENSE" }, { "license_key": "sun-bcl-sdk-5.0", "spdx_license_key": "LicenseRef-scancode-sun-bcl-sdk-5.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-sdk-5.0.json", "yml": "sun-bcl-sdk-5.0.yml", "html": "sun-bcl-sdk-5.0.html", "text": "sun-bcl-sdk-5.0.LICENSE" }, { "license_key": "sun-bcl-sdk-6.0", "spdx_license_key": "LicenseRef-scancode-sun-bcl-sdk-6.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-sdk-6.0.json", "yml": "sun-bcl-sdk-6.0.yml", "html": "sun-bcl-sdk-6.0.html", "text": "sun-bcl-sdk-6.0.LICENSE" }, { "license_key": "sun-bcl-web-start", "spdx_license_key": "LicenseRef-scancode-sun-bcl-web-start", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bcl-web-start.json", "yml": "sun-bcl-web-start.yml", "html": "sun-bcl-web-start.html", "text": "sun-bcl-web-start.LICENSE" }, { "license_key": "sun-bsd-extra", "spdx_license_key": "LicenseRef-scancode-sun-bsd-extra", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bsd-extra.json", "yml": "sun-bsd-extra.yml", "html": "sun-bsd-extra.html", "text": "sun-bsd-extra.LICENSE" }, { "license_key": "sun-bsd-no-nuclear", "spdx_license_key": "BSD-3-Clause-No-Nuclear-License", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-bsd-no-nuclear.json", "yml": "sun-bsd-no-nuclear.yml", "html": "sun-bsd-no-nuclear.html", "text": "sun-bsd-no-nuclear.LICENSE" }, { "license_key": "sun-communications-api", "spdx_license_key": "LicenseRef-scancode-sun-communications-api", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-communications-api.json", "yml": "sun-communications-api.yml", "html": "sun-communications-api.html", "text": "sun-communications-api.LICENSE" }, { "license_key": "sun-ejb-spec-2.1", "spdx_license_key": "LicenseRef-scancode-sun-ejb-spec-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-ejb-spec-2.1.json", "yml": "sun-ejb-spec-2.1.yml", "html": "sun-ejb-spec-2.1.html", "text": "sun-ejb-spec-2.1.LICENSE" }, { "license_key": "sun-ejb-spec-3.0", "spdx_license_key": "LicenseRef-scancode-sun-ejb-spec-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-ejb-spec-3.0.json", "yml": "sun-ejb-spec-3.0.yml", "html": "sun-ejb-spec-3.0.html", "text": "sun-ejb-spec-3.0.LICENSE" }, { "license_key": "sun-entitlement-03-15", "spdx_license_key": "LicenseRef-scancode-sun-entitlement-03-15", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-entitlement-03-15.json", "yml": "sun-entitlement-03-15.yml", "html": "sun-entitlement-03-15.html", "text": "sun-entitlement-03-15.LICENSE" }, { "license_key": "sun-entitlement-jaf", "spdx_license_key": "LicenseRef-scancode-sun-entitlement-jaf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-entitlement-jaf.json", "yml": "sun-entitlement-jaf.yml", "html": "sun-entitlement-jaf.html", "text": "sun-entitlement-jaf.LICENSE" }, { "license_key": "sun-glassfish", "spdx_license_key": "LicenseRef-scancode-sun-glassfish", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-glassfish.json", "yml": "sun-glassfish.yml", "html": "sun-glassfish.html", "text": "sun-glassfish.LICENSE" }, { "license_key": "sun-iiop", "spdx_license_key": "LicenseRef-scancode-sun-iiop", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-iiop.json", "yml": "sun-iiop.yml", "html": "sun-iiop.html", "text": "sun-iiop.LICENSE" }, { "license_key": "sun-java-transaction-api", "spdx_license_key": "LicenseRef-scancode-sun-java-transaction-api", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-java-transaction-api.json", "yml": "sun-java-transaction-api.yml", "html": "sun-java-transaction-api.html", "text": "sun-java-transaction-api.LICENSE" }, { "license_key": "sun-java-web-services-dev-pack-1.6", "spdx_license_key": "LicenseRef-scancode-sun-java-web-services-dev-pack-1.6", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-java-web-services-dev-pack-1.6.json", "yml": "sun-java-web-services-dev-pack-1.6.yml", "html": "sun-java-web-services-dev-pack-1.6.html", "text": "sun-java-web-services-dev-pack-1.6.LICENSE" }, { "license_key": "sun-javamail", "spdx_license_key": "LicenseRef-scancode-sun-javamail", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-javamail.json", "yml": "sun-javamail.yml", "html": "sun-javamail.html", "text": "sun-javamail.LICENSE" }, { "license_key": "sun-jsr-spec-04-2006", "spdx_license_key": "LicenseRef-scancode-sun-jsr-spec-04-2006", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-jsr-spec-04-2006.json", "yml": "sun-jsr-spec-04-2006.yml", "html": "sun-jsr-spec-04-2006.html", "text": "sun-jsr-spec-04-2006.LICENSE" }, { "license_key": "sun-jta-spec-1.0.1", "spdx_license_key": "LicenseRef-scancode-sun-jta-spec-1.0.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-jta-spec-1.0.1.json", "yml": "sun-jta-spec-1.0.1.yml", "html": "sun-jta-spec-1.0.1.html", "text": "sun-jta-spec-1.0.1.LICENSE" }, { "license_key": "sun-jta-spec-1.0.1B", "spdx_license_key": "LicenseRef-scancode-sun-jta-spec-1.0.1B", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-jta-spec-1.0.1B.json", "yml": "sun-jta-spec-1.0.1B.yml", "html": "sun-jta-spec-1.0.1B.html", "text": "sun-jta-spec-1.0.1B.LICENSE" }, { "license_key": "sun-no-high-risk-activities", "spdx_license_key": "LicenseRef-scancode-sun-no-high-risk-activities", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-no-high-risk-activities.json", "yml": "sun-no-high-risk-activities.yml", "html": "sun-no-high-risk-activities.html", "text": "sun-no-high-risk-activities.LICENSE" }, { "license_key": "sun-project-x", "spdx_license_key": "LicenseRef-scancode-sun-project-x", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-project-x.json", "yml": "sun-project-x.yml", "html": "sun-project-x.html", "text": "sun-project-x.LICENSE" }, { "license_key": "sun-prop-non-commercial", "spdx_license_key": "LicenseRef-scancode-sun-prop-non-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-prop-non-commercial.json", "yml": "sun-prop-non-commercial.yml", "html": "sun-prop-non-commercial.html", "text": "sun-prop-non-commercial.LICENSE" }, { "license_key": "sun-proprietary-jdk", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "sun-proprietary-jdk.json", "yml": "sun-proprietary-jdk.yml", "html": "sun-proprietary-jdk.html", "text": "sun-proprietary-jdk.LICENSE" }, { "license_key": "sun-rpc", "spdx_license_key": "LicenseRef-scancode-sun-rpc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-rpc.json", "yml": "sun-rpc.yml", "html": "sun-rpc.html", "text": "sun-rpc.LICENSE" }, { "license_key": "sun-sdk-spec-1.1", "spdx_license_key": "LicenseRef-scancode-sun-sdk-spec-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-sdk-spec-1.1.json", "yml": "sun-sdk-spec-1.1.yml", "html": "sun-sdk-spec-1.1.html", "text": "sun-sdk-spec-1.1.LICENSE" }, { "license_key": "sun-sissl-1.0", "spdx_license_key": "LicenseRef-scancode-sun-sissl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-sissl-1.0.json", "yml": "sun-sissl-1.0.yml", "html": "sun-sissl-1.0.html", "text": "sun-sissl-1.0.LICENSE" }, { "license_key": "sun-sissl-1.1", "spdx_license_key": "SISSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-sissl-1.1.json", "yml": "sun-sissl-1.1.yml", "html": "sun-sissl-1.1.html", "text": "sun-sissl-1.1.LICENSE" }, { "license_key": "sun-sissl-1.2", "spdx_license_key": "SISSL-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-sissl-1.2.json", "yml": "sun-sissl-1.2.yml", "html": "sun-sissl-1.2.html", "text": "sun-sissl-1.2.LICENSE" }, { "license_key": "sun-source", "spdx_license_key": "LicenseRef-scancode-sun-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-source.json", "yml": "sun-source.yml", "html": "sun-source.html", "text": "sun-source.LICENSE" }, { "license_key": "sun-ssscfr-1.1", "spdx_license_key": "LicenseRef-scancode-sun-ssscfr-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sun-ssscfr-1.1.json", "yml": "sun-ssscfr-1.1.yml", "html": "sun-ssscfr-1.1.html", "text": "sun-ssscfr-1.1.LICENSE" }, { "license_key": "sunpro", "spdx_license_key": "LicenseRef-scancode-sunpro", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sunpro.json", "yml": "sunpro.yml", "html": "sunpro.html", "text": "sunpro.LICENSE" }, { "license_key": "sunsoft", "spdx_license_key": "LicenseRef-scancode-sunsoft", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sunsoft.json", "yml": "sunsoft.yml", "html": "sunsoft.html", "text": "sunsoft.LICENSE" }, { "license_key": "supervisor", "spdx_license_key": "LicenseRef-scancode-supervisor", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "supervisor.json", "yml": "supervisor.yml", "html": "supervisor.html", "text": "supervisor.LICENSE" }, { "license_key": "svndiff", "spdx_license_key": "LicenseRef-scancode-svndiff", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "svndiff.json", "yml": "svndiff.yml", "html": "svndiff.html", "text": "svndiff.LICENSE" }, { "license_key": "swig", "spdx_license_key": "LicenseRef-scancode-swig", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "swig.json", "yml": "swig.yml", "html": "swig.html", "text": "swig.LICENSE" }, { "license_key": "swl", "spdx_license_key": "SWL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "swl.json", "yml": "swl.yml", "html": "swl.html", "text": "swl.LICENSE" }, { "license_key": "sybase", "spdx_license_key": "Watcom-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "sybase.json", "yml": "sybase.yml", "html": "sybase.html", "text": "sybase.LICENSE" }, { "license_key": "symphonysoft", "spdx_license_key": "LicenseRef-scancode-symphonysoft", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "symphonysoft.json", "yml": "symphonysoft.yml", "html": "symphonysoft.html", "text": "symphonysoft.LICENSE" }, { "license_key": "synopsys-attribution", "spdx_license_key": "LicenseRef-scancode-synopsys-attribution", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "synopsys-attribution.json", "yml": "synopsys-attribution.yml", "html": "synopsys-attribution.html", "text": "synopsys-attribution.LICENSE" }, { "license_key": "synopsys-mit", "spdx_license_key": "LicenseRef-scancode-synopsys-mit", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "synopsys-mit.json", "yml": "synopsys-mit.yml", "html": "synopsys-mit.html", "text": "synopsys-mit.LICENSE" }, { "license_key": "syntext-serna-exception-1.0", "spdx_license_key": "LicenseRef-scancode-syntext-serna-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "syntext-serna-exception-1.0.json", "yml": "syntext-serna-exception-1.0.yml", "html": "syntext-serna-exception-1.0.html", "text": "syntext-serna-exception-1.0.LICENSE" }, { "license_key": "takao-abe", "spdx_license_key": "LicenseRef-scancode-takao-abe", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "takao-abe.json", "yml": "takao-abe.yml", "html": "takao-abe.html", "text": "takao-abe.LICENSE" }, { "license_key": "takuya-ooura", "spdx_license_key": "LicenseRef-scancode-takuya-ooura", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "takuya-ooura.json", "yml": "takuya-ooura.yml", "html": "takuya-ooura.html", "text": "takuya-ooura.LICENSE" }, { "license_key": "taligent-jdk", "spdx_license_key": "LicenseRef-scancode-taligent-jdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "taligent-jdk.json", "yml": "taligent-jdk.yml", "html": "taligent-jdk.html", "text": "taligent-jdk.LICENSE" }, { "license_key": "tanuki-community-sla-1.0", "spdx_license_key": "LicenseRef-scancode-tanuki-community-sla-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tanuki-community-sla-1.0.json", "yml": "tanuki-community-sla-1.0.yml", "html": "tanuki-community-sla-1.0.html", "text": "tanuki-community-sla-1.0.LICENSE" }, { "license_key": "tanuki-community-sla-1.1", "spdx_license_key": "LicenseRef-scancode-tanuki-community-sla-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tanuki-community-sla-1.1.json", "yml": "tanuki-community-sla-1.1.yml", "html": "tanuki-community-sla-1.1.html", "text": "tanuki-community-sla-1.1.LICENSE" }, { "license_key": "tanuki-community-sla-1.2", "spdx_license_key": "LicenseRef-scancode-tanuki-community-sla-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tanuki-community-sla-1.2.json", "yml": "tanuki-community-sla-1.2.yml", "html": "tanuki-community-sla-1.2.html", "text": "tanuki-community-sla-1.2.LICENSE" }, { "license_key": "tanuki-community-sla-1.3", "spdx_license_key": "LicenseRef-scancode-tanuki-community-sla-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tanuki-community-sla-1.3.json", "yml": "tanuki-community-sla-1.3.yml", "html": "tanuki-community-sla-1.3.html", "text": "tanuki-community-sla-1.3.LICENSE" }, { "license_key": "tapr-ohl-1.0", "spdx_license_key": "TAPR-OHL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tapr-ohl-1.0.json", "yml": "tapr-ohl-1.0.yml", "html": "tapr-ohl-1.0.html", "text": "tapr-ohl-1.0.LICENSE" }, { "license_key": "tatu-ylonen", "spdx_license_key": "SSH-short", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tatu-ylonen.json", "yml": "tatu-ylonen.yml", "html": "tatu-ylonen.html", "text": "tatu-ylonen.LICENSE" }, { "license_key": "tcl", "spdx_license_key": "TCL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tcl.json", "yml": "tcl.yml", "html": "tcl.html", "text": "tcl.LICENSE" }, { "license_key": "tcp-wrappers", "spdx_license_key": "TCP-wrappers", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tcp-wrappers.json", "yml": "tcp-wrappers.yml", "html": "tcp-wrappers.html", "text": "tcp-wrappers.LICENSE" }, { "license_key": "teamdev-services", "spdx_license_key": "LicenseRef-scancode-teamdev-services", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "teamdev-services.json", "yml": "teamdev-services.yml", "html": "teamdev-services.html", "text": "teamdev-services.LICENSE" }, { "license_key": "telerik-eula", "spdx_license_key": "LicenseRef-scancode-telerik-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "telerik-eula.json", "yml": "telerik-eula.yml", "html": "telerik-eula.html", "text": "telerik-eula.LICENSE" }, { "license_key": "tenable-nessus", "spdx_license_key": "LicenseRef-scancode-tenable-nessus", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tenable-nessus.json", "yml": "tenable-nessus.yml", "html": "tenable-nessus.html", "text": "tenable-nessus.LICENSE" }, { "license_key": "term-readkey", "spdx_license_key": "LicenseRef-scancode-term-readkey", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "term-readkey.json", "yml": "term-readkey.yml", "html": "term-readkey.html", "text": "term-readkey.LICENSE" }, { "license_key": "tested-software", "spdx_license_key": "LicenseRef-scancode-tested-software", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tested-software.json", "yml": "tested-software.yml", "html": "tested-software.html", "text": "tested-software.LICENSE" }, { "license_key": "tex-exception", "spdx_license_key": "LicenseRef-scancode-tex-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "tex-exception.json", "yml": "tex-exception.yml", "html": "tex-exception.html", "text": "tex-exception.LICENSE" }, { "license_key": "tex-live", "spdx_license_key": "LicenseRef-scancode-tex-live", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tex-live.json", "yml": "tex-live.yml", "html": "tex-live.html", "text": "tex-live.LICENSE" }, { "license_key": "tgppl-1.0", "spdx_license_key": "LicenseRef-scancode-tgppl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tgppl-1.0.json", "yml": "tgppl-1.0.yml", "html": "tgppl-1.0.html", "text": "tgppl-1.0.LICENSE" }, { "license_key": "things-i-made-public-license", "spdx_license_key": "LicenseRef-scancode-things-i-made-public-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "things-i-made-public-license.json", "yml": "things-i-made-public-license.yml", "html": "things-i-made-public-license.html", "text": "things-i-made-public-license.LICENSE" }, { "license_key": "thomas-bandt", "spdx_license_key": "LicenseRef-scancode-thomas-bandt", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "thomas-bandt.json", "yml": "thomas-bandt.yml", "html": "thomas-bandt.html", "text": "thomas-bandt.LICENSE" }, { "license_key": "ti-broadband-apps", "spdx_license_key": "LicenseRef-scancode-ti-broadband-apps", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ti-broadband-apps.json", "yml": "ti-broadband-apps.yml", "html": "ti-broadband-apps.html", "text": "ti-broadband-apps.LICENSE" }, { "license_key": "ti-restricted", "spdx_license_key": "LicenseRef-scancode-ti-restricted", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ti-restricted.json", "yml": "ti-restricted.yml", "html": "ti-restricted.html", "text": "ti-restricted.LICENSE" }, { "license_key": "tidy", "spdx_license_key": "HTMLTIDY", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tidy.json", "yml": "tidy.yml", "html": "tidy.html", "text": "tidy.LICENSE" }, { "license_key": "tiger-crypto", "spdx_license_key": "LicenseRef-scancode-tiger-crypto", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tiger-crypto.json", "yml": "tiger-crypto.yml", "html": "tiger-crypto.html", "text": "tiger-crypto.LICENSE" }, { "license_key": "tigra-calendar-3.2", "spdx_license_key": "LicenseRef-scancode-tigra-calendar-3.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tigra-calendar-3.2.json", "yml": "tigra-calendar-3.2.yml", "html": "tigra-calendar-3.2.html", "text": "tigra-calendar-3.2.LICENSE" }, { "license_key": "tigra-calendar-4.0", "spdx_license_key": "LicenseRef-scancode-tigra-calendar-4.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tigra-calendar-4.0.json", "yml": "tigra-calendar-4.0.yml", "html": "tigra-calendar-4.0.html", "text": "tigra-calendar-4.0.LICENSE" }, { "license_key": "timestamp-picker", "spdx_license_key": "LicenseRef-scancode-timestamp-picker", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "timestamp-picker.json", "yml": "timestamp-picker.yml", "html": "timestamp-picker.html", "text": "timestamp-picker.LICENSE" }, { "license_key": "tizen-sdk", "spdx_license_key": "LicenseRef-scancode-tizen-sdk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tizen-sdk.json", "yml": "tizen-sdk.yml", "html": "tizen-sdk.html", "text": "tizen-sdk.LICENSE" }, { "license_key": "tmate", "spdx_license_key": "TMate", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tmate.json", "yml": "tmate.yml", "html": "tmate.html", "text": "tmate.LICENSE" }, { "license_key": "torque-1.1", "spdx_license_key": "TORQUE-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "torque-1.1.json", "yml": "torque-1.1.yml", "html": "torque-1.1.html", "text": "torque-1.1.LICENSE" }, { "license_key": "tosl", "spdx_license_key": "TOSL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tosl.json", "yml": "tosl.yml", "html": "tosl.html", "text": "tosl.LICENSE" }, { "license_key": "tpl-1.0", "spdx_license_key": "LicenseRef-scancode-tpl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tpl-1.0.json", "yml": "tpl-1.0.yml", "html": "tpl-1.0.html", "text": "tpl-1.0.LICENSE" }, { "license_key": "trademark-notice", "spdx_license_key": "LicenseRef-scancode-trademark-notice", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "trademark-notice.json", "yml": "trademark-notice.yml", "html": "trademark-notice.html", "text": "trademark-notice.LICENSE" }, { "license_key": "trca-odl-1.0", "spdx_license_key": "LicenseRef-scancode-trca-odl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "trca-odl-1.0.json", "yml": "trca-odl-1.0.yml", "html": "trca-odl-1.0.html", "text": "trca-odl-1.0.LICENSE" }, { "license_key": "treeview-developer", "spdx_license_key": "LicenseRef-scancode-treeview-developer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "treeview-developer.json", "yml": "treeview-developer.yml", "html": "treeview-developer.html", "text": "treeview-developer.LICENSE" }, { "license_key": "treeview-distributor", "spdx_license_key": "LicenseRef-scancode-treeview-distributor", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "treeview-distributor.json", "yml": "treeview-distributor.yml", "html": "treeview-distributor.html", "text": "treeview-distributor.LICENSE" }, { "license_key": "triptracker", "spdx_license_key": "LicenseRef-scancode-triptracker", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "triptracker.json", "yml": "triptracker.yml", "html": "triptracker.html", "text": "triptracker.LICENSE" }, { "license_key": "trolltech-gpl-exception-1.0", "spdx_license_key": "LicenseRef-scancode-trolltech-gpl-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "trolltech-gpl-exception-1.0.json", "yml": "trolltech-gpl-exception-1.0.yml", "html": "trolltech-gpl-exception-1.0.html", "text": "trolltech-gpl-exception-1.0.LICENSE" }, { "license_key": "trolltech-gpl-exception-1.1", "spdx_license_key": "LicenseRef-scancode-trolltech-gpl-exception-1.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "trolltech-gpl-exception-1.1.json", "yml": "trolltech-gpl-exception-1.1.yml", "html": "trolltech-gpl-exception-1.1.html", "text": "trolltech-gpl-exception-1.1.LICENSE" }, { "license_key": "trolltech-gpl-exception-1.2", "spdx_license_key": "LicenseRef-scancode-trolltech-gpl-exception-1.2", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "trolltech-gpl-exception-1.2.json", "yml": "trolltech-gpl-exception-1.2.yml", "html": "trolltech-gpl-exception-1.2.html", "text": "trolltech-gpl-exception-1.2.LICENSE" }, { "license_key": "truecrypt-3.1", "spdx_license_key": "LicenseRef-scancode-truecrypt-3.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "truecrypt-3.1.json", "yml": "truecrypt-3.1.yml", "html": "truecrypt-3.1.html", "text": "truecrypt-3.1.LICENSE" }, { "license_key": "tsl-2018", "spdx_license_key": "LicenseRef-scancode-tsl-2018", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tsl-2018.json", "yml": "tsl-2018.yml", "html": "tsl-2018.html", "text": "tsl-2018.LICENSE" }, { "license_key": "tso-license", "spdx_license_key": "LicenseRef-scancode-tso-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tso-license.json", "yml": "tso-license.yml", "html": "tso-license.html", "text": "tso-license.LICENSE" }, { "license_key": "ttf2pt1", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "ttf2pt1.json", "yml": "ttf2pt1.yml", "html": "ttf2pt1.html", "text": "ttf2pt1.LICENSE" }, { "license_key": "tu-berlin-2.0", "spdx_license_key": "TU-Berlin-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tu-berlin-2.0.json", "yml": "tu-berlin-2.0.yml", "html": "tu-berlin-2.0.html", "text": "tu-berlin-2.0.LICENSE" }, { "license_key": "tu-berlin", "spdx_license_key": "TU-Berlin-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tu-berlin.json", "yml": "tu-berlin.yml", "html": "tu-berlin.html", "text": "tu-berlin.LICENSE" }, { "license_key": "tumbolia", "spdx_license_key": "LicenseRef-scancode-tumbolia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "tumbolia.json", "yml": "tumbolia.yml", "html": "tumbolia.html", "text": "tumbolia.LICENSE" }, { "license_key": "twisted-snmp", "spdx_license_key": "LicenseRef-scancode-twisted-snmp", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "twisted-snmp.json", "yml": "twisted-snmp.yml", "html": "twisted-snmp.html", "text": "twisted-snmp.LICENSE" }, { "license_key": "txl-10.5", "spdx_license_key": "LicenseRef-scancode-txl-10.5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "txl-10.5.json", "yml": "txl-10.5.yml", "html": "txl-10.5.html", "text": "txl-10.5.LICENSE" }, { "license_key": "u-boot-exception-2.0", "spdx_license_key": "u-boot-exception-2.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "u-boot-exception-2.0.json", "yml": "u-boot-exception-2.0.yml", "html": "u-boot-exception-2.0.html", "text": "u-boot-exception-2.0.LICENSE" }, { "license_key": "ubc", "spdx_license_key": "LicenseRef-scancode-ubc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ubc.json", "yml": "ubc.yml", "html": "ubc.html", "text": "ubc.LICENSE" }, { "license_key": "ubdl", "spdx_license_key": "LicenseRef-scancode-ubdl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "ubdl.json", "yml": "ubdl.yml", "html": "ubdl.html", "text": "ubdl.LICENSE" }, { "license_key": "ubuntu-font-1.0", "spdx_license_key": "LicenseRef-scancode-ubuntu-font-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ubuntu-font-1.0.json", "yml": "ubuntu-font-1.0.yml", "html": "ubuntu-font-1.0.html", "text": "ubuntu-font-1.0.LICENSE" }, { "license_key": "ucl-1.0", "spdx_license_key": "UCL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ucl-1.0.json", "yml": "ucl-1.0.yml", "html": "ucl-1.0.html", "text": "ucl-1.0.LICENSE" }, { "license_key": "unbuntu-font-1.0", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "unbuntu-font-1.0.json", "yml": "unbuntu-font-1.0.yml", "html": "unbuntu-font-1.0.html", "text": "unbuntu-font-1.0.LICENSE" }, { "license_key": "unicode-data-software", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "unicode-data-software.json", "yml": "unicode-data-software.yml", "html": "unicode-data-software.html", "text": "unicode-data-software.LICENSE" }, { "license_key": "unicode-dfs-2015", "spdx_license_key": "Unicode-DFS-2015", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode-dfs-2015.json", "yml": "unicode-dfs-2015.yml", "html": "unicode-dfs-2015.html", "text": "unicode-dfs-2015.LICENSE" }, { "license_key": "unicode-dfs-2016", "spdx_license_key": "Unicode-DFS-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode-dfs-2016.json", "yml": "unicode-dfs-2016.yml", "html": "unicode-dfs-2016.html", "text": "unicode-dfs-2016.LICENSE" }, { "license_key": "unicode-icu-58", "spdx_license_key": "LicenseRef-scancode-unicode-icu-58", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode-icu-58.json", "yml": "unicode-icu-58.yml", "html": "unicode-icu-58.html", "text": "unicode-icu-58.LICENSE" }, { "license_key": "unicode-mappings", "spdx_license_key": "LicenseRef-scancode-unicode-mappings", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode-mappings.json", "yml": "unicode-mappings.yml", "html": "unicode-mappings.html", "text": "unicode-mappings.LICENSE" }, { "license_key": "unicode-tou", "spdx_license_key": "Unicode-TOU", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode-tou.json", "yml": "unicode-tou.yml", "html": "unicode-tou.html", "text": "unicode-tou.LICENSE" }, { "license_key": "unicode", "spdx_license_key": "LicenseRef-scancode-unicode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unicode.json", "yml": "unicode.yml", "html": "unicode.html", "text": "unicode.LICENSE" }, { "license_key": "universal-foss-exception-1.0", "spdx_license_key": "Universal-FOSS-exception-1.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "universal-foss-exception-1.0.json", "yml": "universal-foss-exception-1.0.yml", "html": "universal-foss-exception-1.0.html", "text": "universal-foss-exception-1.0.LICENSE" }, { "license_key": "unknown-license-reference", "spdx_license_key": "LicenseRef-scancode-unknown-license-reference", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unknown-license-reference.json", "yml": "unknown-license-reference.yml", "html": "unknown-license-reference.html", "text": "unknown-license-reference.LICENSE" }, { "license_key": "unknown-spdx", "spdx_license_key": "LicenseRef-scancode-unknown-spdx", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unknown-spdx.json", "yml": "unknown-spdx.yml", "html": "unknown-spdx.html", "text": "unknown-spdx.LICENSE" }, { "license_key": "unknown", "spdx_license_key": "LicenseRef-scancode-unknown", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unknown.json", "yml": "unknown.yml", "html": "unknown.html", "text": "unknown.LICENSE" }, { "license_key": "unlicense", "spdx_license_key": "Unlicense", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unlicense.json", "yml": "unlicense.yml", "html": "unlicense.html", "text": "unlicense.LICENSE" }, { "license_key": "unlimited-binary-linking", "spdx_license_key": "LicenseRef-scancode-unlimited-binary-linking", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "unlimited-binary-linking.json", "yml": "unlimited-binary-linking.yml", "html": "unlimited-binary-linking.html", "text": "unlimited-binary-linking.LICENSE" }, { "license_key": "unlimited-linking-exception-gpl", "spdx_license_key": "LicenseRef-scancode-unlimited-linking-exception-gpl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "unlimited-linking-exception-gpl.json", "yml": "unlimited-linking-exception-gpl.yml", "html": "unlimited-linking-exception-gpl.html", "text": "unlimited-linking-exception-gpl.LICENSE" }, { "license_key": "unlimited-linking-exception-lgpl", "spdx_license_key": "LicenseRef-scancode-unlimited-linking-exception-lgpl", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "unlimited-linking-exception-lgpl.json", "yml": "unlimited-linking-exception-lgpl.yml", "html": "unlimited-linking-exception-lgpl.html", "text": "unlimited-linking-exception-lgpl.LICENSE" }, { "license_key": "unpbook", "spdx_license_key": "LicenseRef-scancode-unpbook", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unpbook.json", "yml": "unpbook.yml", "html": "unpbook.html", "text": "unpbook.LICENSE" }, { "license_key": "unpublished-source", "spdx_license_key": "LicenseRef-scancode-unpublished-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unpublished-source.json", "yml": "unpublished-source.yml", "html": "unpublished-source.html", "text": "unpublished-source.LICENSE" }, { "license_key": "unrar", "spdx_license_key": "LicenseRef-scancode-unrar", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "unrar.json", "yml": "unrar.yml", "html": "unrar.html", "text": "unrar.LICENSE" }, { "license_key": "uofu-rfpl", "spdx_license_key": "LicenseRef-scancode-uofu-rfpl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "uofu-rfpl.json", "yml": "uofu-rfpl.yml", "html": "uofu-rfpl.html", "text": "uofu-rfpl.LICENSE" }, { "license_key": "uoi-ncsa", "spdx_license_key": "NCSA", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "uoi-ncsa.json", "yml": "uoi-ncsa.yml", "html": "uoi-ncsa.html", "text": "uoi-ncsa.LICENSE" }, { "license_key": "upl-1.0", "spdx_license_key": "UPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "upl-1.0.json", "yml": "upl-1.0.yml", "html": "upl-1.0.html", "text": "upl-1.0.LICENSE" }, { "license_key": "upx-exception-2.0-plus", "spdx_license_key": "LicenseRef-scancode-upx-exception-2.0-plus", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "upx-exception-2.0-plus.json", "yml": "upx-exception-2.0-plus.yml", "html": "upx-exception-2.0-plus.html", "text": "upx-exception-2.0-plus.LICENSE" }, { "license_key": "us-govt-public-domain", "spdx_license_key": "LicenseRef-scancode-us-govt-public-domain", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "us-govt-public-domain.json", "yml": "us-govt-public-domain.yml", "html": "us-govt-public-domain.html", "text": "us-govt-public-domain.LICENSE" }, { "license_key": "us-govt-unlimited-rights", "spdx_license_key": "LicenseRef-scancode-us-govt-unlimited-rights", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "us-govt-unlimited-rights.json", "yml": "us-govt-unlimited-rights.yml", "html": "us-govt-unlimited-rights.html", "text": "us-govt-unlimited-rights.LICENSE" }, { "license_key": "usrobotics-permissive", "spdx_license_key": "LicenseRef-scancode-usrobotics-permissive", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "usrobotics-permissive.json", "yml": "usrobotics-permissive.yml", "html": "usrobotics-permissive.html", "text": "usrobotics-permissive.LICENSE" }, { "license_key": "utopia", "spdx_license_key": "LicenseRef-scancode-utopia", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "utopia.json", "yml": "utopia.yml", "html": "utopia.html", "text": "utopia.LICENSE" }, { "license_key": "vbaccelerator", "spdx_license_key": "LicenseRef-scancode-vbaccelerator", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vbaccelerator.json", "yml": "vbaccelerator.yml", "html": "vbaccelerator.html", "text": "vbaccelerator.LICENSE" }, { "license_key": "vcalendar", "spdx_license_key": "LicenseRef-scancode-vcalendar", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vcalendar.json", "yml": "vcalendar.yml", "html": "vcalendar.html", "text": "vcalendar.LICENSE" }, { "license_key": "verbatim-manual", "spdx_license_key": "LicenseRef-scancode-verbatim-manual", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "verbatim-manual.json", "yml": "verbatim-manual.yml", "html": "verbatim-manual.html", "text": "verbatim-manual.LICENSE" }, { "license_key": "verisign", "spdx_license_key": "LicenseRef-scancode-verisign", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "verisign.json", "yml": "verisign.yml", "html": "verisign.html", "text": "verisign.LICENSE" }, { "license_key": "vhfpl-1.1", "spdx_license_key": "LicenseRef-scancode-vhfpl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vhfpl-1.1.json", "yml": "vhfpl-1.1.yml", "html": "vhfpl-1.1.html", "text": "vhfpl-1.1.LICENSE" }, { "license_key": "vic-metcalfe-pd", "spdx_license_key": "LicenseRef-scancode-vic-metcalfe-pd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vic-metcalfe-pd.json", "yml": "vic-metcalfe-pd.yml", "html": "vic-metcalfe-pd.html", "text": "vic-metcalfe-pd.LICENSE" }, { "license_key": "vicomsoft-software", "spdx_license_key": "LicenseRef-scancode-vicomsoft-software", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vicomsoft-software.json", "yml": "vicomsoft-software.yml", "html": "vicomsoft-software.html", "text": "vicomsoft-software.LICENSE" }, { "license_key": "viewflow-agpl-3.0-exception", "spdx_license_key": "LicenseRef-scancode-viewflow-agpl-3.0-exception", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "viewflow-agpl-3.0-exception.json", "yml": "viewflow-agpl-3.0-exception.yml", "html": "viewflow-agpl-3.0-exception.html", "text": "viewflow-agpl-3.0-exception.LICENSE" }, { "license_key": "vim", "spdx_license_key": "Vim", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vim.json", "yml": "vim.yml", "html": "vim.html", "text": "vim.LICENSE" }, { "license_key": "visual-idiot", "spdx_license_key": "LicenseRef-scancode-visual-idiot", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "visual-idiot.json", "yml": "visual-idiot.yml", "html": "visual-idiot.html", "text": "visual-idiot.LICENSE" }, { "license_key": "visual-numerics", "spdx_license_key": "LicenseRef-scancode-visual-numerics", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "visual-numerics.json", "yml": "visual-numerics.yml", "html": "visual-numerics.html", "text": "visual-numerics.LICENSE" }, { "license_key": "vitesse-prop", "spdx_license_key": "LicenseRef-scancode-vitesse-prop", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vitesse-prop.json", "yml": "vitesse-prop.yml", "html": "vitesse-prop.html", "text": "vitesse-prop.LICENSE" }, { "license_key": "vixie-cron", "spdx_license_key": "LicenseRef-scancode-vixie-cron", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vixie-cron.json", "yml": "vixie-cron.yml", "html": "vixie-cron.html", "text": "vixie-cron.LICENSE" }, { "license_key": "vnc-viewer-ios", "spdx_license_key": "LicenseRef-scancode-vnc-viewer-ios", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vnc-viewer-ios.json", "yml": "vnc-viewer-ios.yml", "html": "vnc-viewer-ios.html", "text": "vnc-viewer-ios.LICENSE" }, { "license_key": "volatility-vsl-v1.0", "spdx_license_key": "LicenseRef-scancode-volatility-vsl-v1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "volatility-vsl-v1.0.json", "yml": "volatility-vsl-v1.0.yml", "html": "volatility-vsl-v1.0.html", "text": "volatility-vsl-v1.0.LICENSE" }, { "license_key": "vostrom", "spdx_license_key": "VOSTROM", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vostrom.json", "yml": "vostrom.yml", "html": "vostrom.html", "text": "vostrom.LICENSE" }, { "license_key": "vpl-1.1", "spdx_license_key": "LicenseRef-scancode-vpl-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vpl-1.1.json", "yml": "vpl-1.1.yml", "html": "vpl-1.1.html", "text": "vpl-1.1.LICENSE" }, { "license_key": "vpl-1.2", "spdx_license_key": "LicenseRef-scancode-vpl-1.2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vpl-1.2.json", "yml": "vpl-1.2.yml", "html": "vpl-1.2.html", "text": "vpl-1.2.LICENSE" }, { "license_key": "vs10x-code-map", "spdx_license_key": "LicenseRef-scancode-vs10x-code-map", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vs10x-code-map.json", "yml": "vs10x-code-map.yml", "html": "vs10x-code-map.html", "text": "vs10x-code-map.LICENSE" }, { "license_key": "vsl-1.0", "spdx_license_key": "VSL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vsl-1.0.json", "yml": "vsl-1.0.yml", "html": "vsl-1.0.html", "text": "vsl-1.0.LICENSE" }, { "license_key": "vuforia-2013-07-29", "spdx_license_key": "LicenseRef-scancode-vuforia-2013-07-29", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "vuforia-2013-07-29.json", "yml": "vuforia-2013-07-29.yml", "html": "vuforia-2013-07-29.html", "text": "vuforia-2013-07-29.LICENSE" }, { "license_key": "w3c-docs-19990405", "spdx_license_key": "LicenseRef-scancode-w3c-docs-19990405", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c-docs-19990405.json", "yml": "w3c-docs-19990405.yml", "html": "w3c-docs-19990405.html", "text": "w3c-docs-19990405.LICENSE" }, { "license_key": "w3c-docs-20021231", "spdx_license_key": "LicenseRef-scancode-w3c-docs-20021231", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c-docs-20021231.json", "yml": "w3c-docs-20021231.yml", "html": "w3c-docs-20021231.html", "text": "w3c-docs-20021231.LICENSE" }, { "license_key": "w3c-documentation", "spdx_license_key": "LicenseRef-scancode-w3c-documentation", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c-documentation.json", "yml": "w3c-documentation.yml", "html": "w3c-documentation.html", "text": "w3c-documentation.LICENSE" }, { "license_key": "w3c-software-19980720", "spdx_license_key": "W3C-19980720", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c-software-19980720.json", "yml": "w3c-software-19980720.yml", "html": "w3c-software-19980720.html", "text": "w3c-software-19980720.LICENSE" }, { "license_key": "w3c-software-20021231", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "w3c-software-20021231.json", "yml": "w3c-software-20021231.yml", "html": "w3c-software-20021231.html", "text": "w3c-software-20021231.LICENSE" }, { "license_key": "w3c-software-doc-20150513", "spdx_license_key": "W3C-20150513", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c-software-doc-20150513.json", "yml": "w3c-software-doc-20150513.yml", "html": "w3c-software-doc-20150513.html", "text": "w3c-software-doc-20150513.LICENSE" }, { "license_key": "w3c", "spdx_license_key": "W3C", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "w3c.json", "yml": "w3c.yml", "html": "w3c.html", "text": "w3c.LICENSE" }, { "license_key": "warranty-disclaimer", "spdx_license_key": "LicenseRef-scancode-warranty-disclaimer", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "warranty-disclaimer.json", "yml": "warranty-disclaimer.yml", "html": "warranty-disclaimer.html", "text": "warranty-disclaimer.LICENSE" }, { "license_key": "waterfall-feed-parser", "spdx_license_key": "LicenseRef-scancode-waterfall-feed-parser", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "waterfall-feed-parser.json", "yml": "waterfall-feed-parser.yml", "html": "waterfall-feed-parser.html", "text": "waterfall-feed-parser.LICENSE" }, { "license_key": "westhawk", "spdx_license_key": "LicenseRef-scancode-westhawk", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "westhawk.json", "yml": "westhawk.yml", "html": "westhawk.html", "text": "westhawk.LICENSE" }, { "license_key": "whistle", "spdx_license_key": "LicenseRef-scancode-whistle", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "whistle.json", "yml": "whistle.yml", "html": "whistle.html", "text": "whistle.LICENSE" }, { "license_key": "wide-license", "spdx_license_key": "LicenseRef-scancode-wide-license", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wide-license.json", "yml": "wide-license.yml", "html": "wide-license.html", "text": "wide-license.LICENSE" }, { "license_key": "wifi-alliance", "spdx_license_key": "LicenseRef-scancode-wifi-alliance", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wifi-alliance.json", "yml": "wifi-alliance.yml", "html": "wifi-alliance.html", "text": "wifi-alliance.LICENSE" }, { "license_key": "william-alexander", "spdx_license_key": "LicenseRef-scancode-william-alexander", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "william-alexander.json", "yml": "william-alexander.yml", "html": "william-alexander.html", "text": "william-alexander.LICENSE" }, { "license_key": "wince-50-shared-source", "spdx_license_key": "LicenseRef-scancode-wince-50-shared-source", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wince-50-shared-source.json", "yml": "wince-50-shared-source.yml", "html": "wince-50-shared-source.html", "text": "wince-50-shared-source.LICENSE" }, { "license_key": "windriver-commercial", "spdx_license_key": "LicenseRef-scancode-windriver-commercial", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "windriver-commercial.json", "yml": "windriver-commercial.yml", "html": "windriver-commercial.html", "text": "windriver-commercial.LICENSE" }, { "license_key": "wingo", "spdx_license_key": "LicenseRef-scancode-wingo", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wingo.json", "yml": "wingo.yml", "html": "wingo.html", "text": "wingo.LICENSE" }, { "license_key": "wink", "spdx_license_key": "LicenseRef-scancode-wink", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wink.json", "yml": "wink.yml", "html": "wink.html", "text": "wink.LICENSE" }, { "license_key": "winzip-eula", "spdx_license_key": "LicenseRef-scancode-winzip-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "winzip-eula.json", "yml": "winzip-eula.yml", "html": "winzip-eula.html", "text": "winzip-eula.LICENSE" }, { "license_key": "winzip-self-extractor", "spdx_license_key": "LicenseRef-scancode-winzip-self-extractor", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "winzip-self-extractor.json", "yml": "winzip-self-extractor.yml", "html": "winzip-self-extractor.html", "text": "winzip-self-extractor.LICENSE" }, { "license_key": "wol", "spdx_license_key": "LicenseRef-scancode-wol", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wol.json", "yml": "wol.yml", "html": "wol.html", "text": "wol.LICENSE" }, { "license_key": "wordnet", "spdx_license_key": "LicenseRef-scancode-wordnet", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wordnet.json", "yml": "wordnet.yml", "html": "wordnet.html", "text": "wordnet.LICENSE" }, { "license_key": "wrox-download", "spdx_license_key": "LicenseRef-scancode-wrox-download", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wrox-download.json", "yml": "wrox-download.yml", "html": "wrox-download.html", "text": "wrox-download.LICENSE" }, { "license_key": "wrox", "spdx_license_key": "LicenseRef-scancode-wrox", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wrox.json", "yml": "wrox.yml", "html": "wrox.html", "text": "wrox.LICENSE" }, { "license_key": "ws-addressing-spec", "spdx_license_key": "LicenseRef-scancode-ws-addressing-spec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ws-addressing-spec.json", "yml": "ws-addressing-spec.yml", "html": "ws-addressing-spec.html", "text": "ws-addressing-spec.LICENSE" }, { "license_key": "ws-policy-specification", "spdx_license_key": "LicenseRef-scancode-ws-policy-specification", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ws-policy-specification.json", "yml": "ws-policy-specification.yml", "html": "ws-policy-specification.html", "text": "ws-policy-specification.LICENSE" }, { "license_key": "ws-trust-specification", "spdx_license_key": "LicenseRef-scancode-ws-trust-specification", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ws-trust-specification.json", "yml": "ws-trust-specification.yml", "html": "ws-trust-specification.html", "text": "ws-trust-specification.LICENSE" }, { "license_key": "wsuipa", "spdx_license_key": "Wsuipa", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wsuipa.json", "yml": "wsuipa.yml", "html": "wsuipa.html", "text": "wsuipa.LICENSE" }, { "license_key": "wtfnmfpl-1.0", "spdx_license_key": "LicenseRef-scancode-wtfnmfpl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wtfnmfpl-1.0.json", "yml": "wtfnmfpl-1.0.yml", "html": "wtfnmfpl-1.0.html", "text": "wtfnmfpl-1.0.LICENSE" }, { "license_key": "wtfpl-1.0", "spdx_license_key": "LicenseRef-scancode-wtfpl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wtfpl-1.0.json", "yml": "wtfpl-1.0.yml", "html": "wtfpl-1.0.html", "text": "wtfpl-1.0.LICENSE" }, { "license_key": "wtfpl-2.0", "spdx_license_key": "WTFPL", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wtfpl-2.0.json", "yml": "wtfpl-2.0.yml", "html": "wtfpl-2.0.html", "text": "wtfpl-2.0.LICENSE" }, { "license_key": "wthpl-1.0", "spdx_license_key": "LicenseRef-scancode-wthpl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wthpl-1.0.json", "yml": "wthpl-1.0.yml", "html": "wthpl-1.0.html", "text": "wthpl-1.0.LICENSE" }, { "license_key": "wxwidgets", "spdx_license_key": "LicenseRef-scancode-wxwidgets", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wxwidgets.json", "yml": "wxwidgets.yml", "html": "wxwidgets.html", "text": "wxwidgets.LICENSE" }, { "license_key": "wxwindows-exception-3.1", "spdx_license_key": "WxWindows-exception-3.1", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "wxwindows-exception-3.1.json", "yml": "wxwindows-exception-3.1.yml", "html": "wxwindows-exception-3.1.html", "text": "wxwindows-exception-3.1.LICENSE" }, { "license_key": "wxwindows-r-3.0", "spdx_license_key": "LicenseRef-scancode-wxwindows-r-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wxwindows-r-3.0.json", "yml": "wxwindows-r-3.0.yml", "html": "wxwindows-r-3.0.html", "text": "wxwindows-r-3.0.LICENSE" }, { "license_key": "wxwindows-u-3.0", "spdx_license_key": "LicenseRef-scancode-wxwindows-u-3.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "wxwindows-u-3.0.json", "yml": "wxwindows-u-3.0.yml", "html": "wxwindows-u-3.0.html", "text": "wxwindows-u-3.0.LICENSE" }, { "license_key": "wxwindows", "spdx_license_key": "wxWindows", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "wxwindows.json", "yml": "wxwindows.yml", "html": "wxwindows.html", "text": "wxwindows.LICENSE" }, { "license_key": "x11-adobe-dec", "spdx_license_key": "LicenseRef-scancode-x11-adobe-dec", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-adobe-dec.json", "yml": "x11-adobe-dec.yml", "html": "x11-adobe-dec.html", "text": "x11-adobe-dec.LICENSE" }, { "license_key": "x11-adobe", "spdx_license_key": "LicenseRef-scancode-x11-adobe", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-adobe.json", "yml": "x11-adobe.yml", "html": "x11-adobe.html", "text": "x11-adobe.LICENSE" }, { "license_key": "x11-bitstream", "spdx_license_key": "LicenseRef-scancode-x11-bitstream", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-bitstream.json", "yml": "x11-bitstream.yml", "html": "x11-bitstream.html", "text": "x11-bitstream.LICENSE" }, { "license_key": "x11-dec1", "spdx_license_key": "LicenseRef-scancode-x11-dec1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-dec1.json", "yml": "x11-dec1.yml", "html": "x11-dec1.html", "text": "x11-dec1.LICENSE" }, { "license_key": "x11-dec2", "spdx_license_key": "LicenseRef-scancode-x11-dec2", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-dec2.json", "yml": "x11-dec2.yml", "html": "x11-dec2.html", "text": "x11-dec2.LICENSE" }, { "license_key": "x11-doc", "spdx_license_key": "LicenseRef-scancode-x11-doc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-doc.json", "yml": "x11-doc.yml", "html": "x11-doc.html", "text": "x11-doc.LICENSE" }, { "license_key": "x11-dsc", "spdx_license_key": "LicenseRef-scancode-x11-dsc", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-dsc.json", "yml": "x11-dsc.yml", "html": "x11-dsc.html", "text": "x11-dsc.LICENSE" }, { "license_key": "x11-fsf", "spdx_license_key": "LicenseRef-scancode-x11-fsf", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-fsf.json", "yml": "x11-fsf.yml", "html": "x11-fsf.html", "text": "x11-fsf.LICENSE" }, { "license_key": "x11-hanson", "spdx_license_key": "LicenseRef-scancode-x11-hanson", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-hanson.json", "yml": "x11-hanson.yml", "html": "x11-hanson.html", "text": "x11-hanson.LICENSE" }, { "license_key": "x11-ibm", "spdx_license_key": "LicenseRef-scancode-x11-ibm", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-ibm.json", "yml": "x11-ibm.yml", "html": "x11-ibm.html", "text": "x11-ibm.LICENSE" }, { "license_key": "x11-keith-packard", "spdx_license_key": "HPND-sell-variant", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-keith-packard.json", "yml": "x11-keith-packard.yml", "html": "x11-keith-packard.html", "text": "x11-keith-packard.LICENSE" }, { "license_key": "x11-lucent", "spdx_license_key": "LicenseRef-scancode-x11-lucent", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-lucent.json", "yml": "x11-lucent.yml", "html": "x11-lucent.html", "text": "x11-lucent.LICENSE" }, { "license_key": "x11-oar", "spdx_license_key": "LicenseRef-scancode-x11-oar", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-oar.json", "yml": "x11-oar.yml", "html": "x11-oar.html", "text": "x11-oar.LICENSE" }, { "license_key": "x11-opengl", "spdx_license_key": "LicenseRef-scancode-x11-opengl", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-opengl.json", "yml": "x11-opengl.yml", "html": "x11-opengl.html", "text": "x11-opengl.LICENSE" }, { "license_key": "x11-opengroup", "spdx_license_key": "MIT-open-group", "other_spdx_license_keys": [ "LicenseRef-scancode-x11-opengroup" ], "is_exception": false, "is_deprecated": false, "json": "x11-opengroup.json", "yml": "x11-opengroup.yml", "html": "x11-opengroup.html", "text": "x11-opengroup.LICENSE" }, { "license_key": "x11-quarterdeck", "spdx_license_key": "LicenseRef-scancode-x11-quarterdeck", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-quarterdeck.json", "yml": "x11-quarterdeck.yml", "html": "x11-quarterdeck.html", "text": "x11-quarterdeck.LICENSE" }, { "license_key": "x11-r75", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "x11-r75.json", "yml": "x11-r75.yml", "html": "x11-r75.html", "text": "x11-r75.LICENSE" }, { "license_key": "x11-realmode", "spdx_license_key": "LicenseRef-scancode-x11-realmode", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-realmode.json", "yml": "x11-realmode.yml", "html": "x11-realmode.html", "text": "x11-realmode.LICENSE" }, { "license_key": "x11-sg", "spdx_license_key": "LicenseRef-scancode-x11-sg", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-sg.json", "yml": "x11-sg.yml", "html": "x11-sg.html", "text": "x11-sg.LICENSE" }, { "license_key": "x11-stanford", "spdx_license_key": "LicenseRef-scancode-x11-stanford", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-stanford.json", "yml": "x11-stanford.yml", "html": "x11-stanford.html", "text": "x11-stanford.LICENSE" }, { "license_key": "x11-tektronix", "spdx_license_key": "LicenseRef-scancode-x11-tektronix", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-tektronix.json", "yml": "x11-tektronix.yml", "html": "x11-tektronix.html", "text": "x11-tektronix.LICENSE" }, { "license_key": "x11-tiff", "spdx_license_key": "libtiff", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-tiff.json", "yml": "x11-tiff.yml", "html": "x11-tiff.html", "text": "x11-tiff.LICENSE" }, { "license_key": "x11-x11r5", "spdx_license_key": "LicenseRef-scancode-x11-x11r5", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-x11r5.json", "yml": "x11-x11r5.yml", "html": "x11-x11r5.html", "text": "x11-x11r5.LICENSE" }, { "license_key": "x11-xconsortium", "spdx_license_key": "X11", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-xconsortium.json", "yml": "x11-xconsortium.yml", "html": "x11-xconsortium.html", "text": "x11-xconsortium.LICENSE" }, { "license_key": "x11-xconsortium_veillard", "spdx_license_key": "LicenseRef-scancode-x11-xconsortium_veillard", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11-xconsortium_veillard.json", "yml": "x11-xconsortium_veillard.yml", "html": "x11-xconsortium_veillard.html", "text": "x11-xconsortium_veillard.LICENSE" }, { "license_key": "x11", "spdx_license_key": "ICU", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "x11.json", "yml": "x11.yml", "html": "x11.html", "text": "x11.LICENSE" }, { "license_key": "x11r5-authors", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "x11r5-authors.json", "yml": "x11r5-authors.yml", "html": "x11r5-authors.html", "text": "x11r5-authors.LICENSE" }, { "license_key": "xfree86-1.0", "spdx_license_key": "LicenseRef-scancode-xfree86-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xfree86-1.0.json", "yml": "xfree86-1.0.yml", "html": "xfree86-1.0.html", "text": "xfree86-1.0.LICENSE" }, { "license_key": "xfree86-1.1", "spdx_license_key": "XFree86-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xfree86-1.1.json", "yml": "xfree86-1.1.yml", "html": "xfree86-1.1.html", "text": "xfree86-1.1.LICENSE" }, { "license_key": "xilinx-2016", "spdx_license_key": "LicenseRef-scancode-xilinx-2016", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xilinx-2016.json", "yml": "xilinx-2016.yml", "html": "xilinx-2016.html", "text": "xilinx-2016.LICENSE" }, { "license_key": "xinetd", "spdx_license_key": "xinetd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xinetd.json", "yml": "xinetd.yml", "html": "xinetd.html", "text": "xinetd.LICENSE" }, { "license_key": "xming", "spdx_license_key": "LicenseRef-scancode-xming", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xming.json", "yml": "xming.yml", "html": "xming.html", "text": "xming.LICENSE" }, { "license_key": "xmldb-1.0", "spdx_license_key": "LicenseRef-scancode-xmldb-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xmldb-1.0.json", "yml": "xmldb-1.0.yml", "html": "xmldb-1.0.html", "text": "xmldb-1.0.LICENSE" }, { "license_key": "xnet", "spdx_license_key": "Xnet", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xnet.json", "yml": "xnet.yml", "html": "xnet.html", "text": "xnet.LICENSE" }, { "license_key": "xskat", "spdx_license_key": "XSkat", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xskat.json", "yml": "xskat.yml", "html": "xskat.html", "text": "xskat.LICENSE" }, { "license_key": "xxd", "spdx_license_key": "LicenseRef-scancode-xxd", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "xxd.json", "yml": "xxd.yml", "html": "xxd.html", "text": "xxd.LICENSE" }, { "license_key": "yahoo-browserplus-eula", "spdx_license_key": "LicenseRef-scancode-yahoo-browserplus-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "yahoo-browserplus-eula.json", "yml": "yahoo-browserplus-eula.yml", "html": "yahoo-browserplus-eula.html", "text": "yahoo-browserplus-eula.LICENSE" }, { "license_key": "yahoo-messenger-eula", "spdx_license_key": "LicenseRef-scancode-yahoo-messenger-eula", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "yahoo-messenger-eula.json", "yml": "yahoo-messenger-eula.yml", "html": "yahoo-messenger-eula.html", "text": "yahoo-messenger-eula.LICENSE" }, { "license_key": "yensdesign", "spdx_license_key": "LicenseRef-scancode-yensdesign", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "yensdesign.json", "yml": "yensdesign.yml", "html": "yensdesign.html", "text": "yensdesign.LICENSE" }, { "license_key": "yolo-1.0", "spdx_license_key": "LicenseRef-scancode-yolo-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "yolo-1.0.json", "yml": "yolo-1.0.yml", "html": "yolo-1.0.html", "text": "yolo-1.0.LICENSE" }, { "license_key": "yolo-2.0", "spdx_license_key": "LicenseRef-scancode-yolo-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "yolo-2.0.json", "yml": "yolo-2.0.yml", "html": "yolo-2.0.html", "text": "yolo-2.0.LICENSE" }, { "license_key": "ypl-1.0", "spdx_license_key": "YPL-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ypl-1.0.json", "yml": "ypl-1.0.yml", "html": "ypl-1.0.html", "text": "ypl-1.0.LICENSE" }, { "license_key": "ypl-1.1", "spdx_license_key": "YPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ypl-1.1.json", "yml": "ypl-1.1.yml", "html": "ypl-1.1.html", "text": "ypl-1.1.LICENSE" }, { "license_key": "zapatec-calendar", "spdx_license_key": "LicenseRef-scancode-zapatec-calendar", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zapatec-calendar.json", "yml": "zapatec-calendar.yml", "html": "zapatec-calendar.html", "text": "zapatec-calendar.LICENSE" }, { "license_key": "zed", "spdx_license_key": "Zed", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zed.json", "yml": "zed.yml", "html": "zed.html", "text": "zed.LICENSE" }, { "license_key": "zend-2.0", "spdx_license_key": "Zend-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zend-2.0.json", "yml": "zend-2.0.yml", "html": "zend-2.0.html", "text": "zend-2.0.LICENSE" }, { "license_key": "zeromq-exception-lgpl-3.0", "spdx_license_key": "LicenseRef-scancode-zeromq-exception-lgpl-3.0", "other_spdx_license_keys": [], "is_exception": true, "is_deprecated": false, "json": "zeromq-exception-lgpl-3.0.json", "yml": "zeromq-exception-lgpl-3.0.yml", "html": "zeromq-exception-lgpl-3.0.html", "text": "zeromq-exception-lgpl-3.0.LICENSE" }, { "license_key": "zeusbench", "spdx_license_key": "LicenseRef-scancode-zeusbench", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zeusbench.json", "yml": "zeusbench.yml", "html": "zeusbench.html", "text": "zeusbench.LICENSE" }, { "license_key": "zhorn-stickies", "spdx_license_key": "LicenseRef-scancode-zhorn-stickies", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zhorn-stickies.json", "yml": "zhorn-stickies.yml", "html": "zhorn-stickies.html", "text": "zhorn-stickies.LICENSE" }, { "license_key": "zimbra-1.3", "spdx_license_key": "Zimbra-1.3", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zimbra-1.3.json", "yml": "zimbra-1.3.yml", "html": "zimbra-1.3.html", "text": "zimbra-1.3.LICENSE" }, { "license_key": "zimbra-1.4", "spdx_license_key": "Zimbra-1.4", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zimbra-1.4.json", "yml": "zimbra-1.4.yml", "html": "zimbra-1.4.html", "text": "zimbra-1.4.LICENSE" }, { "license_key": "zipeg", "spdx_license_key": "LicenseRef-scancode-zipeg", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zipeg.json", "yml": "zipeg.yml", "html": "zipeg.html", "text": "zipeg.LICENSE" }, { "license_key": "ziplist5-geocode-duplication-addendum", "spdx_license_key": "LicenseRef-scancode-ziplist5-geocode-duplication-addendum", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ziplist5-geocode-duplication-addendum.json", "yml": "ziplist5-geocode-duplication-addendum.yml", "html": "ziplist5-geocode-duplication-addendum.html", "text": "ziplist5-geocode-duplication-addendum.LICENSE" }, { "license_key": "ziplist5-geocode-end-user-enterprise", "spdx_license_key": "LicenseRef-scancode-ziplist5-geocode-end-user-enterprise", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ziplist5-geocode-end-user-enterprise.json", "yml": "ziplist5-geocode-end-user-enterprise.yml", "html": "ziplist5-geocode-end-user-enterprise.html", "text": "ziplist5-geocode-end-user-enterprise.LICENSE" }, { "license_key": "ziplist5-geocode-end-user-workstation", "spdx_license_key": "LicenseRef-scancode-ziplist5-geocode-end-user-workstation", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "ziplist5-geocode-end-user-workstation.json", "yml": "ziplist5-geocode-end-user-workstation.yml", "html": "ziplist5-geocode-end-user-workstation.html", "text": "ziplist5-geocode-end-user-workstation.LICENSE" }, { "license_key": "zlib-acknowledgement", "spdx_license_key": "zlib-acknowledgement", "other_spdx_license_keys": [ "Nunit" ], "is_exception": false, "is_deprecated": false, "json": "zlib-acknowledgement.json", "yml": "zlib-acknowledgement.yml", "html": "zlib-acknowledgement.html", "text": "zlib-acknowledgement.LICENSE" }, { "license_key": "zlib", "spdx_license_key": "Zlib", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zlib.json", "yml": "zlib.yml", "html": "zlib.html", "text": "zlib.LICENSE" }, { "license_key": "zpl-1.0", "spdx_license_key": "LicenseRef-scancode-zpl-1.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zpl-1.0.json", "yml": "zpl-1.0.yml", "html": "zpl-1.0.html", "text": "zpl-1.0.LICENSE" }, { "license_key": "zpl-1.1", "spdx_license_key": "ZPL-1.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zpl-1.1.json", "yml": "zpl-1.1.yml", "html": "zpl-1.1.html", "text": "zpl-1.1.LICENSE" }, { "license_key": "zpl-2.0", "spdx_license_key": "ZPL-2.0", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zpl-2.0.json", "yml": "zpl-2.0.yml", "html": "zpl-2.0.html", "text": "zpl-2.0.LICENSE" }, { "license_key": "zpl-2.1", "spdx_license_key": "ZPL-2.1", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zpl-2.1.json", "yml": "zpl-2.1.yml", "html": "zpl-2.1.html", "text": "zpl-2.1.LICENSE" }, { "license_key": "zsh", "spdx_license_key": "LicenseRef-scancode-zsh", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zsh.json", "yml": "zsh.yml", "html": "zsh.html", "text": "zsh.LICENSE" }, { "license_key": "zuora-software", "spdx_license_key": "LicenseRef-scancode-zuora-software", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zuora-software.json", "yml": "zuora-software.yml", "html": "zuora-software.html", "text": "zuora-software.LICENSE" }, { "license_key": "zveno-research", "spdx_license_key": "LicenseRef-scancode-zveno-research", "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": false, "json": "zveno-research.json", "yml": "zveno-research.yml", "html": "zveno-research.html", "text": "zveno-research.LICENSE" } ]license-expression-21.6.14/tests/000077500000000000000000000000001406172227500166545ustar00rootroot00000000000000license-expression-21.6.14/tests/data/000077500000000000000000000000001406172227500175655ustar00rootroot00000000000000license-expression-21.6.14/tests/data/test_license_key_index.json000066400000000000000000000024631406172227500252050ustar00rootroot00000000000000[ { "license_key": "389-exception", "spdx_license_key": "389-exception", "other_spdx_license_keys": [], "is_exception": true, "json": "389-exception.json", "yml": "389-exception.yml", "html": "389-exception.html", "text": "389-exception.LICENSE" }, { "license_key": "3com-microcode", "spdx_license_key": "LicenseRef-scancode-3com-microcode", "other_spdx_license_keys": [], "is_exception": false, "json": "3com-microcode.json", "yml": "3com-microcode.yml", "html": "3com-microcode.html", "text": "3com-microcode.LICENSE" }, { "license_key": "3dslicer-1.0", "spdx_license_key": "LicenseRef-scancode-3dslicer-1.0", "other_spdx_license_keys": [], "is_exception": false, "json": "3dslicer-1.0.json", "yml": "3dslicer-1.0.yml", "html": "3dslicer-1.0.html", "text": "3dslicer-1.0.LICENSE" }, { "license_key": "aladdin-md5", "spdx_license_key": null, "other_spdx_license_keys": [], "is_exception": false, "is_deprecated": true, "json": "aladdin-md5.json", "yml": "aladdin-md5.yml", "html": "aladdin-md5.html", "text": "aladdin-md5.LICENSE" } ]license-expression-21.6.14/tests/test__pyahocorasick.py000066400000000000000000000245271406172227500232750ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # SPDX-License-Identifier: LicenseRef-scancode-public-domain # See https://github.com/nexB/license-expression for support or download. # See https://aboutcode.org for more information about nexB OSS projects. """ Tests for Aho-Corasick string search algorithm. Original Author: Wojciech Muła, wojciech_mula@poczta.onet.pl WWW : http://0x80.pl License : public domain Modified for use in the license_expression library. """ import unittest from license_expression._pyahocorasick import Trie from license_expression._pyahocorasick import Token class TestTrie(unittest.TestCase): def test_add_can_get(self): t = Trie() t.add('python', 'value') assert ('python', 'value') == t.get('python') def test_add_existing_WordShouldReplaceAssociatedValue(self): t = Trie() t.add('python', 'value') assert ('python', 'value') == t.get('python') t.add('python', 'other') assert ('python', 'other') == t.get('python') def test_get_UnknowWordWithoutDefaultValueShouldRaiseException(self): t = Trie() with self.assertRaises(KeyError): t.get('python') def test_get_UnknowWordWithDefaultValueShouldReturnDefault(self): t = Trie() self.assertEqual(t.get('python', 'default'), 'default') def test_exists_ShouldDetectAddedWords(self): t = Trie() t.add('python', 'value') t.add('ada', 'value') self.assertTrue(t.exists('python')) self.assertTrue(t.exists('ada')) def test_exists_ShouldReturnFailOnUnknownWord(self): t = Trie() t.add('python', 'value') self.assertFalse(t.exists('ada')) def test_is_prefix_ShouldDetecAllPrefixesIncludingWord(self): t = Trie() t.add('python', 'value') t.add('ada lovelace', 'value') self.assertFalse(t.is_prefix('a')) self.assertFalse(t.is_prefix('ad')) self.assertTrue(t.is_prefix('ada')) self.assertFalse(t.is_prefix('p')) self.assertFalse(t.is_prefix('py')) self.assertFalse(t.is_prefix('pyt')) self.assertFalse(t.is_prefix('pyth')) self.assertFalse(t.is_prefix('pytho')) self.assertTrue(t.is_prefix('python')) self.assertFalse(t.is_prefix('lovelace')) def test_items_ShouldReturnAllItemsAlreadyAddedToTheTrie(self): t = Trie() t.add('python', 1) t.add('ada', 2) t.add('perl', 3) t.add('pascal', 4) t.add('php', 5) t.add('php that', 6) result = list(t.items()) self.assertIn(('python', 1), result) self.assertIn(('ada', 2), result) self.assertIn(('perl', 3), result) self.assertIn(('pascal', 4), result) self.assertIn(('php', 5), result) self.assertIn(('php that', 6), result) def test_keys_ShouldReturnAllKeysAlreadyAddedToTheTrie(self): t = Trie() t.add('python', 1) t.add('ada', 2) t.add('perl', 3) t.add('pascal', 4) t.add('php', 5) t.add('php that', 6) result = list(t.keys()) self.assertIn('python', result) self.assertIn('ada', result) self.assertIn('perl', result) self.assertIn('pascal', result) self.assertIn('php', result) self.assertIn('php that', result) def test_values_ShouldReturnAllValuesAlreadyAddedToTheTrie(self): t = Trie() t.add('python', 1) t.add('ada', 2) t.add('perl', 3) t.add('pascal', 4) t.add('php', 5) result = list(t.values()) self.assertIn(1, result) self.assertIn(2, result) self.assertIn(3, result) self.assertIn(4, result) self.assertIn(5, result) def test_iter_should_not_return_non_matches_by_default(self): def get_test_automaton(): words = 'he her hers his she hi him man himan'.split() t = Trie() for w in words: t.add(w, w) t.make_automaton() return t test_string = 'he she himan' t = get_test_automaton() result = list(t.iter(test_string)) assert 'he she himan'.split() == [r.value for r in result] def test_iter_should_can_return_non_matches_optionally(self): def get_test_automaton(): words = 'he her hers his she hi him man himan'.split() t = Trie() for w in words: t.add(w, w) t.make_automaton() return t test_string = ' he she junk himan other stuffs ' # 111111111122222222223333333 # 0123456789012345678901234567890123456 t = get_test_automaton() result = list(t.iter(test_string, include_unmatched=True, include_space=True)) expected = [ Token(0, 1, u' ', None), Token(2, 3, u'he', u'he'), Token(4, 4, u' ', None), Token(5, 7, u'she', u'she'), Token(8, 8, u' ', None), Token(9, 12, u'junk', None), Token(13, 14, u' ', None), Token(15, 19, u'himan', u'himan'), Token(20, 21, u' ', None), Token(22, 26, u'other', None), Token(27, 27, u' ', None), Token(28, 33, u'stuffs', None), Token(34, 36, u' ', None), ] assert expected == result def test_iter_vs_tokenize(self): def get_test_automaton(): words = '( AND ) OR'.split() t = Trie() for w in words: t.add(w, w) t.make_automaton() return t test_string = '((l-a + AND l-b) OR (l -c+))' t = get_test_automaton() result = list(t.iter(test_string, include_unmatched=True, include_space=True)) expected = [ Token(0, 0, u'(', u'('), Token(1, 1, u'(', u'('), Token(2, 4, u'l-a', None), Token(5, 5, u' ', None), Token(6, 6, u'+', None), Token(7, 7, u' ', None), Token(8, 10, u'AND', u'AND'), Token(11, 11, u' ', None), Token(12, 14, u'l-b', None), Token(15, 15, u')', u')'), Token(16, 16, u' ', None), Token(17, 18, u'OR', u'OR'), Token(19, 19, u' ', None), Token(20, 20, u'(', u'('), Token(21, 21, u'l', None), Token(22, 22, u' ', None), Token(23, 25, u'-c+', None), Token(26, 26, u')', u')'), Token(27, 27, u')', u')') ] assert expected == result result = list(t.tokenize(test_string, include_unmatched=True, include_space=True)) assert expected == result def test_tokenize_with_unmatched_and_space(self): def get_test_automaton(): words = '( AND ) OR'.split() t = Trie() for w in words: t.add(w, w) t.make_automaton() return t test_string = '((l-a + AND l-b) OR an (l -c+))' # 111111111122222222223 # 0123456789012345678901234567890 t = get_test_automaton() result = list(t.tokenize(test_string, include_unmatched=True, include_space=True)) expected = [ Token(0, 0, u'(', u'('), Token(1, 1, u'(', u'('), Token(2, 4, u'l-a', None), Token(5, 5, u' ', None), Token(6, 6, u'+', None), Token(7, 7, u' ', None), Token(8, 10, u'AND', u'AND'), Token(11, 11, u' ', None), Token(12, 14, u'l-b', None), Token(15, 15, u')', u')'), Token(16, 16, u' ', None), Token(17, 18, u'OR', u'OR'), Token(19, 19, u' ', None), Token(20, 21, u'an', None), Token(22, 22, u' ', None), Token(23, 23, u'(', u'('), Token(24, 24, u'l', None), Token(25, 25, u' ', None), Token(26, 28, u'-c+', None), Token(29, 29, u')', u')'), Token(30, 30, u')', u')') ] assert expected == result assert test_string == ''.join(t.string for t in result) def test_iter_with_unmatched_simple(self): t = Trie() t.add('And', 'And') t.make_automaton() test_string = 'AND an a And' result = list(t.iter(test_string)) assert ['And', 'And'] == [r.value for r in result] def test_iter_with_unmatched_simple2(self): t = Trie() t.add('AND', 'AND') t.make_automaton() test_string = 'AND an a and' result = list(t.iter(test_string)) assert ['AND', 'AND'] == [r.value for r in result] def test_iter_with_unmatched_simple3(self): t = Trie() t.add('AND', 'AND') t.make_automaton() test_string = 'AND an a andersom' result = list(t.iter(test_string)) assert ['AND'] == [r.value for r in result] def test_iter_simple(self): t = Trie() t.add('AND', 'AND') t.add('OR', 'OR') t.add('WITH', 'WITH') t.add('(', '(') t.add(')', ')') t.add('GPL-2.0', 'GPL-2.0') t.add('mit', 'MIT') t.add('Classpath', 'Classpath') t.make_automaton() test_string = '(GPL-2.0 with Classpath) or (gpl-2.0) and (classpath or gpl-2.0 OR mit) ' # 111111111122222222223333333333444444444455555555556666666666777 # 0123456789012345678901234567890123456789012345678901234567890123456789012 result = list(t.iter(test_string)) expected = [ Token(0, 0, u'(', u'('), Token(1, 7, u'GPL-2.0', u'GPL-2.0'), Token(9, 12, u'with', u'WITH'), Token(14, 22, u'Classpath', u'Classpath'), Token(23, 23, u')', u')'), Token(25, 26, u'or', u'OR'), Token(28, 28, u'(', u'('), Token(29, 35, u'gpl-2.0', u'GPL-2.0'), Token(36, 36, u')', u')'), Token(38, 40, u'and', u'AND'), Token(42, 42, u'(', u'('), Token(43, 51, u'classpath', u'Classpath'), Token(53, 54, u'or', u'OR'), Token(57, 63, u'gpl-2.0', u'GPL-2.0'), Token(65, 66, u'OR', u'OR'), Token(68, 70, u'mit', u'MIT'), Token(71, 71, u')', u')') ] assert expected == result license-expression-21.6.14/tests/test_license_expression.py000066400000000000000000003036711406172227500242000ustar00rootroot00000000000000# # Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # See http://www.apache.org/licenses/LICENSE-2.0 for the license text. # See https://github.com/nexB/license-expression for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # import json import pathlib import sys from collections import namedtuple from os.path import abspath from os.path import join from os.path import dirname from unittest import TestCase from boolean.boolean import PARSE_UNBALANCED_CLOSING_PARENS from boolean.boolean import PARSE_INVALID_SYMBOL_SEQUENCE from license_expression import PARSE_INVALID_EXPRESSION from license_expression import PARSE_INVALID_NESTING from license_expression import PARSE_INVALID_EXCEPTION from license_expression import PARSE_INVALID_SYMBOL_AS_EXCEPTION from license_expression import PARSE_INVALID_OPERATOR_SEQUENCE from license_expression import ExpressionError from license_expression import Keyword from license_expression import Licensing from license_expression import LicenseExpression from license_expression import LicenseSymbol from license_expression import LicenseSymbolLike from license_expression import LicenseWithExceptionSymbol from license_expression import ParseError from license_expression import Token from license_expression import build_token_groups_for_with_subexpression from license_expression import validate_symbols from license_expression import TOKEN_AND from license_expression import TOKEN_LPAR from license_expression import TOKEN_OR from license_expression import TOKEN_RPAR from license_expression import TOKEN_SYMBOL from license_expression import TOKEN_WITH from license_expression import build_licensing from license_expression import build_spdx_licensing from license_expression import get_license_index def _parse_error_as_dict(pe): """ Return a dict for a ParseError. """ return dict( token_type=pe.token_type, token_string=pe.token_string, position=pe.position, error_code=pe.error_code, ) class LicenseSymbolTest(TestCase): def test_LicenseSymbol(self): sym1 = LicenseSymbol('MIT', ['MIT license']) assert sym1 == sym1 assert 'MIT' == sym1.key assert ('MIT license',) == sym1.aliases sym2 = LicenseSymbol('mit', ['MIT license']) assert 'mit' == sym2.key assert ('MIT license',) == sym2.aliases assert not sym2.is_exception assert sym1 != sym2 assert sym1 is not sym2 sym3 = LicenseSymbol('mit', ['MIT license'], is_exception=True) assert 'mit' == sym3.key assert ('MIT license',) == sym3.aliases assert sym3.is_exception assert sym2 != sym3 sym4 = LicenseSymbol('mit', ['MIT license']) assert 'mit' == sym4.key assert ('MIT license',) == sym4.aliases # symbol equality is based ONLY on the key assert sym2 == sym4 assert sym1 != sym4 sym5 = LicenseWithExceptionSymbol(sym2, sym3) assert sym2 == sym5.license_symbol assert sym3 == sym5.exception_symbol sym6 = LicenseWithExceptionSymbol(sym4, sym3) # symbol euqality is based ONLY on the key assert sym5 == sym6 class LicensingTest(TestCase): def test_Licensing_create(self): Licensing() Licensing(None) Licensing(list()) class LicensingTokenizeWithoutSymbolsTest(TestCase): def test_tokenize_plain1(self): licensing = Licensing() expected = [ (TOKEN_LPAR, '(', 1), (LicenseSymbol(key='mit'), 'mit', 3), (TOKEN_RPAR, ')', 7), (TOKEN_AND, 'and', 9), (LicenseSymbol(key='gpl'), 'gpl', 13) ] assert list(licensing.tokenize(' ( mit ) and gpl')) == expected def test_tokenize_plain2(self): licensing = Licensing() expected = [ (TOKEN_LPAR, '(', 0), (LicenseSymbol(key='mit'), 'mit', 1), (TOKEN_AND, 'and', 5), (LicenseSymbol(key='gpl'), 'gpl', 9), (TOKEN_RPAR, ')', 12) ] assert list(licensing.tokenize('(mit and gpl)')) == expected def test_tokenize_plain3(self): licensing = Licensing() expected = [ (LicenseSymbol(key='mit'), 'mit', 0), (TOKEN_AND, 'AND', 4), (LicenseSymbol(key='gpl'), 'gpl', 8), (TOKEN_OR, 'or', 12), (LicenseSymbol(key='gpl'), 'gpl', 15) ] assert list(licensing.tokenize('mit AND gpl or gpl')) == expected def test_tokenize_plain4(self): licensing = Licensing() expected = [ (TOKEN_LPAR, '(', 0), (TOKEN_LPAR, '(', 1), (LicenseSymbol(key=u'l-a+'), 'l-a+', 2), (TOKEN_AND, 'AND', 7), (LicenseSymbol(key=u'l-b'), 'l-b', 11), (TOKEN_RPAR, ')', 14), (TOKEN_OR, 'OR', 16), (TOKEN_LPAR, '(', 19), (LicenseSymbol(key='l-c+'), 'l-c+', 20), (TOKEN_RPAR, ')', 24), (TOKEN_RPAR, ')', 25) ] assert list(licensing.tokenize('((l-a+ AND l-b) OR (l-c+))')) == expected def test_tokenize_plain5(self): licensing = Licensing() expected = [ (TOKEN_LPAR, '(', 0), (TOKEN_LPAR, '(', 1), (LicenseSymbol(key='l-a+'), 'l-a+', 2), (TOKEN_AND, 'AND', 7), (LicenseSymbol(key='l-b'), 'l-b', 11), (TOKEN_RPAR, ')', 14), (TOKEN_OR, 'OR', 16), (TOKEN_LPAR, '(', 19), (LicenseSymbol(key='l-c+'), 'l-c+', 20), (TOKEN_RPAR, ')', 24), (TOKEN_RPAR, ')', 25), (TOKEN_AND, 'and', 27), (LicenseWithExceptionSymbol( license_symbol=LicenseSymbol(key='gpl'), exception_symbol=LicenseSymbol(key='classpath')), 'gpl with classpath', 31 ) ] tokens = licensing.tokenize( '((l-a+ AND l-b) OR (l-c+)) and gpl with classpath' ) assert list(tokens) == expected class LicensingTokenizeWithSymbolsTest(TestCase): def get_symbols_and_licensing(self): gpl_20 = LicenseSymbol('GPL-2.0', ['The GNU GPL 20']) gpl_20_plus = LicenseSymbol('gpl-2.0+', ['The GNU GPL 20 or later', 'GPL-2.0 or later', 'GPL v2.0 or later']) lgpl_21 = LicenseSymbol('LGPL-2.1', ['LGPL v2.1']) mit = LicenseSymbol('MIT', ['MIT license']) symbols = [gpl_20, gpl_20_plus, lgpl_21, mit] licensing = Licensing(symbols) return gpl_20, gpl_20_plus, lgpl_21, mit, licensing def test_tokenize_1_with_symbols(self): gpl_20, _gpl_20_plus, lgpl_21, mit, licensing = self.get_symbols_and_licensing() result = licensing.tokenize('The GNU GPL 20 or LGPL v2.1 AND MIT license ') # 111111111122222222223333333333444 # 0123456789012345678901234567890123456789012 expected = [ (gpl_20, 'The GNU GPL 20', 0), (TOKEN_OR, 'or', 15), (lgpl_21, 'LGPL v2.1', 18), (TOKEN_AND, 'AND', 28), (mit, 'MIT license', 32) ] assert list(result) == expected def test_tokenize_1_no_symbols(self): licensing = Licensing() result = licensing.tokenize('The GNU GPL 20 or LGPL v2.1 AND MIT license') expected = [ (LicenseSymbol(u'The GNU GPL 20'), 'The GNU GPL 20', 0), (TOKEN_OR, 'or', 15), (LicenseSymbol(u'LGPL v2.1'), 'LGPL v2.1', 18), (TOKEN_AND, 'AND', 28), (LicenseSymbol(u'MIT license'), 'MIT license', 32) ] assert list(result) == expected def test_tokenize_with_trailing_unknown(self): gpl_20, _gpl_20_plus, lgpl_21, _mit, licensing = self.get_symbols_and_licensing() result = licensing.tokenize('The GNU GPL 20 or LGPL-2.1 and mit2') expected = [ (gpl_20, 'The GNU GPL 20', 0), (TOKEN_OR, 'or', 15), (lgpl_21, 'LGPL-2.1', 18), (TOKEN_AND, 'and', 27), (LicenseSymbol(key='mit2'), 'mit2', 31), ] assert list(result) == expected def test_tokenize_3(self): gpl_20, gpl_20_plus, lgpl_21, mit, licensing = self.get_symbols_and_licensing() result = licensing.tokenize('The GNU GPL 20 or later or (LGPL-2.1 and mit) or The GNU GPL 20 or mit') expected = [ (gpl_20_plus, 'The GNU GPL 20 or later', 0), (TOKEN_OR, 'or', 24), (TOKEN_LPAR, '(', 27), (lgpl_21, 'LGPL-2.1', 28), (TOKEN_AND, 'and', 37), (mit, 'mit', 41), (TOKEN_RPAR, ')', 44), (TOKEN_OR, 'or', 46), (gpl_20, 'The GNU GPL 20', 49), (2, 'or', 64), (mit, 'mit', 67) ] assert list(result) == expected def test_tokenize_unknown_as_trailing_single_attached_character(self): symbols = [LicenseSymbol('MIT', ['MIT license'])] l = Licensing(symbols) result = list(l.tokenize('mit2')) expected = [ (LicenseSymbol(u'mit2'), 'mit2', 0), ] assert result == expected def test_tokenize_with_unknown_symbol_containing_known_symbol_leading(self): l = Licensing(['gpl-2.0']) result = list(l.tokenize('gpl-2.0 AND gpl-2.0-plus', strict=False)) result = [s for s, _, _ in result] expected = [ LicenseSymbol(key='gpl-2.0'), TOKEN_AND, LicenseSymbol(key='gpl-2.0-plus'), ] assert result == expected def test_tokenize_with_unknown_symbol_containing_known_symbol_contained(self): l = Licensing(['gpl-2.0']) result = list(l.tokenize('gpl-2.0 WITH exception-gpl-2.0-plus', strict=False)) result = [s for s, _, _ in result] expected = [ LicenseWithExceptionSymbol( LicenseSymbol(u'gpl-2.0'), LicenseSymbol(u'exception-gpl-2.0-plus') ) ] assert result == expected def test_tokenize_with_unknown_symbol_containing_known_symbol_trailing(self): l = Licensing(['gpl-2.0']) result = list(l.tokenize('gpl-2.0 AND exception-gpl-2.0', strict=False)) result = [s for s, _, _ in result] expected = [ LicenseSymbol(u'gpl-2.0'), TOKEN_AND, LicenseSymbol(u'exception-gpl-2.0') ] assert result == expected class LicensingParseTest(TestCase): def test_parse_does_not_raise_error_for_empty_expression(self): licensing = Licensing() assert None == licensing.parse('') def test_parse(self): expression = ' ( (( gpl and bsd ) or lgpl) and gpl-exception) ' expected = '((gpl AND bsd) OR lgpl) AND gpl-exception' licensing = Licensing() self.assertEqual(expected, str(licensing.parse(expression))) def test_parse_raise_ParseError(self): expression = ' ( (( gpl and bsd ) or lgpl) and gpl-exception)) ' licensing = Licensing() try: licensing.parse(expression) self.fail('ParseError should be raised') except ParseError as pe: expected = { 'error_code': PARSE_UNBALANCED_CLOSING_PARENS, 'position': 48, 'token_string': ')', 'token_type': TOKEN_RPAR } assert _parse_error_as_dict(pe) == expected def test_parse_raise_ExpressionError_when_validating(self): expression = 'gpl and bsd or lgpl with exception' licensing = Licensing() try: licensing.parse(expression, validate=True) self.fail('Exception not raised') except ExpressionError as ee: assert 'Unknown license key(s): gpl, bsd, lgpl, exception' == str(ee) def test_parse_raise_ParseError_when_validating_strict(self): expression = 'gpl and bsd or lgpl with exception' licensing = Licensing() try: licensing.parse(expression, validate=True, strict=True) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_SYMBOL_AS_EXCEPTION, 'position': 25, 'token_string': 'exception', 'token_type': TOKEN_SYMBOL } assert _parse_error_as_dict(pe) == expected def test_parse_raise_ParseError_when_strict_no_validate(self): expression = 'gpl and bsd or lgpl with exception' licensing = Licensing() try: licensing.parse(expression, validate=False, strict=True) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_SYMBOL_AS_EXCEPTION, 'position': 25, 'token_string': 'exception', 'token_type': TOKEN_SYMBOL } assert _parse_error_as_dict(pe) == expected def test_parse_raise_ExpressionError_when_validating_strict_with_unknown(self): expression = 'gpl and bsd or lgpl with exception' licensing = Licensing(symbols=[LicenseSymbol('exception', is_exception=True)]) try: licensing.parse(expression, validate=True, strict=True) except ExpressionError as ee: assert 'Unknown license key(s): gpl, bsd, lgpl' == str(ee) def test_parse_in_strict_mode_for_solo_symbol(self): expression = 'lgpl' licensing = Licensing() licensing.parse(expression, strict=True) def test_parse_invalid_expression_raise_exception(self): licensing = Licensing() expr = 'wrong' licensing.parse(expr) def test_parse_not_invalid_expression_rais_not_exception(self): licensing = Licensing() expr = 'l-a AND none' licensing.parse(expr) def test_parse_invalid_expression_raise_exception3(self): licensing = Licensing() expr = '(l-a + AND l-b' try: licensing.parse(expr) self.fail("Exception not raised when validating '%s'" % expr) except ParseError: pass def test_parse_invalid_expression_raise_exception4(self): licensing = Licensing() expr = '(l-a + AND l-b))' try: licensing.parse(expr) self.fail("Exception not raised when validating '%s'" % expr) except ParseError: pass def test_parse_invalid_expression_raise_exception5(self): licensing = Licensing() expr = 'l-a AND' try: licensing.parse(expr) self.fail("Exception not raised when validating '%s'" % expr) except ExpressionError as ee: assert 'AND requires two or more licenses as in: MIT AND BSD' == str(ee) def test_parse_invalid_expression_raise_exception6(self): licensing = Licensing() expr = 'OR l-a' try: licensing.parse(expr) self.fail("Exception not raised when validating '%s'" % expr) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 0, 'token_string': 'OR', 'token_type': TOKEN_OR } assert _parse_error_as_dict(pe) == expected def test_parse_not_invalid_expression_raise_no_exception2(self): licensing = Licensing() expr = '+l-a' licensing.parse(expr) def test_parse_can_parse(self): licensing = Licensing() expr = ' GPL-2.0 or LGPL2.1 and mit ' parsed = licensing.parse(expr) gpl2 = LicenseSymbol('GPL-2.0') lgpl = LicenseSymbol('LGPL2.1') mit = LicenseSymbol('mit') expected = [gpl2, lgpl, mit] self.assertEqual(expected, licensing.license_symbols(parsed)) self.assertEqual(expected, licensing.license_symbols(expr)) self.assertEqual('GPL-2.0 OR (LGPL2.1 AND mit)', str(parsed)) expected = licensing.OR(gpl2, licensing.AND(lgpl, mit)) assert parsed == expected def test_parse_errors_catch_invalid_nesting(self): licensing = Licensing() try: licensing.parse('mit (and LGPL 2.1)') self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_NESTING, 'position': 4, 'token_string': '(', 'token_type': TOKEN_LPAR } assert _parse_error_as_dict(pe) == expected def test_parse_errors_catch_invalid_expression_with_bare_and(self): licensing = Licensing() try: licensing.parse('and') self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 0, 'token_string': 'and', 'token_type': TOKEN_AND } assert _parse_error_as_dict(pe) == expected def test_parse_errors_catch_invalid_expression_with_or_and_no_other(self): licensing = Licensing() try: licensing.parse('or that') self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 0, 'token_string': 'or', 'token_type': TOKEN_OR } assert _parse_error_as_dict(pe) == expected def test_parse_errors_catch_invalid_expression_with_empty_parens(self): licensing = Licensing() try: licensing.parse('with ( )this') self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_EXPRESSION, 'position': 0, 'token_string': 'with', 'token_type': TOKEN_WITH } assert _parse_error_as_dict(pe) == expected def test_parse_errors_catch_invalid_non_unicode_byte_strings_on_python3(self): py2 = sys.version_info[0] == 2 py3 = sys.version_info[0] == 3 licensing = Licensing() if py2: extra_bytes = bytes(chr(0) + chr(12) + chr(255)) try: licensing.parse('mit (and LGPL 2.1)'.encode('utf-8') + extra_bytes) self.fail('Exception not raised') except ExpressionError as ee: assert str(ee).startswith('expression must be a string and') if py3: extra_bytes = bytes(chr(0) + chr(12) + chr(255), encoding='utf-8') try: licensing.parse('mit (and LGPL 2.1)'.encode('utf-8') + extra_bytes) self.fail('Exception not raised') except ExpressionError as ee: assert str(ee).startswith('Invalid license key') def test_parse_errors_does_not_raise_error_on_plain_non_unicode_raw_string(self): # plain non-unicode string does not raise error licensing = Licensing() x = licensing.parse(r'mit and (LGPL-2.1)') self.assertTrue(isinstance(x, LicenseExpression)) def test_parse_simplify_and_contain_and_equal(self): licensing = Licensing() expr = licensing.parse(' GPL-2.0 or LGPL2.1 and mit ') expr2 = licensing.parse(' (mit and LGPL2.1) or GPL-2.0 ') self.assertEqual(expr2.simplify(), expr.simplify()) self.assertEqual(expr2, expr) expr3 = licensing.parse('mit and LGPL2.1') self.assertTrue(expr3 in expr2) def test_parse_simplify_no_sort(self): licensing = Licensing() expr = licensing.parse('gpl-2.0 OR apache-2.0') expr2 = licensing.parse('apache-2.0 OR gpl-2.0') self.assertEqual(expr, expr2) self.assertEqual(expr.simplify(), expr2.simplify()) self.assertEqual(expr.simplify(sort=False), expr2.simplify()) self.assertNotEqual(expr.simplify(sort=False).pretty(), expr2.pretty()) def test_license_expression_is_equivalent(self): lic = Licensing() is_equiv = lic.is_equivalent self.assertTrue(is_equiv(lic.parse('mit AND gpl'), lic.parse('mit AND gpl'))) self.assertTrue(is_equiv(lic.parse('mit AND gpl'), lic.parse('gpl AND mit'))) self.assertTrue(is_equiv(lic.parse('mit AND gpl and apache'), lic.parse('apache and gpl AND mit'))) self.assertTrue(is_equiv(lic.parse('mit AND (gpl AND apache)'), lic.parse('(mit AND gpl) AND apache'))) # same but without parsing: self.assertTrue(is_equiv('mit AND gpl', 'mit AND gpl')) self.assertTrue(is_equiv('mit AND gpl', 'gpl AND mit')) self.assertTrue(is_equiv('mit AND gpl and apache', 'apache and gpl AND mit')) self.assertTrue(is_equiv('mit AND (gpl AND apache)', '(mit AND gpl) AND apache')) # Real-case example of generated expression vs. stored expression: ex1 = '''Commercial AND apache-1.1 AND apache-2.0 AND aslr AND bsd-new AND cpl-1.0 AND epl-1.0 AND ibm-icu AND ijg AND jdom AND lgpl-2.1 AND mit-open-group AND mpl-1.1 AND sax-pd AND unicode AND w3c AND w3c-documentation''' ex2 = ''' apache-1.1 AND apache-2.0 AND aslr AND bsd-new AND cpl-1.0 AND epl-1.0 AND lgpl-2.1 AND ibm-icu AND ijg AND jdom AND mit-open-group AND mpl-1.1 AND Commercial AND sax-pd AND unicode AND w3c-documentation AND w3c''' self.assertTrue(is_equiv(lic.parse(ex1), lic.parse(ex2))) self.assertFalse(is_equiv(lic.parse('mit AND gpl'), lic.parse('mit OR gpl'))) self.assertFalse(is_equiv(lic.parse('mit AND gpl'), lic.parse('gpl OR mit'))) def test_license_expression_license_keys(self): licensing = Licensing() assert ['mit', 'gpl'] == licensing.license_keys(licensing.parse(' ( mit ) and gpl')) assert ['mit', 'gpl'] == licensing.license_keys(licensing.parse('(mit and gpl)')) # these two are surprising for now: this is because the expression is a # logical expression so the order may be different on more complex expressions assert ['mit', 'gpl'] == licensing.license_keys(licensing.parse('mit AND gpl or gpl')) assert ['l-a+', 'l-b', '+l-c'] == licensing.license_keys(licensing.parse('((l-a+ AND l-b) OR (+l-c))')) # same without parsing assert ['mit', 'gpl'] == licensing.license_keys('mit AND gpl or gpl') assert ['l-a+', 'l-b', 'l-c+'] == licensing.license_keys('((l-a+ AND l-b) OR (l-c+))') def test_end_to_end(self): # these were formerly doctest ported to actual real code tests here l = Licensing() expr = l.parse(' GPL-2.0 or LGPL-2.1 and mit ') expected = 'GPL-2.0 OR (LGPL-2.1 AND mit)' assert str(expr) == expected expected = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LGPL-2.1'), LicenseSymbol('mit'), ] assert l.license_symbols(expr) == expected def test_pretty(self): l = Licensing() expr = l.parse(' GPL-2.0 or LGPL2.1 and mit ') expected = '''OR( LicenseSymbol('GPL-2.0'), AND( LicenseSymbol('LGPL2.1'), LicenseSymbol('mit') ) )''' assert expr.pretty() == expected def test_simplify_and_contains(self): l = Licensing() expr = l.parse(' GPL-2.0 or LGPL2.1 and mit ') expr2 = l.parse(' GPL-2.0 or (mit and LGPL2.1) ') assert expr2.simplify() == expr.simplify() expr3 = l.parse('mit and LGPL2.1') assert expr3 in expr2 def test_dedup_expressions_can_be_simplified_1(self): l = Licensing() exp = 'mit OR mit AND apache-2.0 AND bsd-new OR mit' result = l.dedup(exp) expected = l.parse('mit OR (mit AND apache-2.0 AND bsd-new)') assert result == expected def test_dedup_expressions_can_be_simplified_2(self): l = Licensing() exp = 'mit AND (mit OR bsd-new) AND mit OR mit' result = l.dedup(exp) expected = l.parse('(mit AND (mit OR bsd-new)) OR mit') assert result == expected def test_dedup_expressions_multiple_occurrences(self): l = Licensing() exp = ' GPL-2.0 or (mit and LGPL-2.1) or bsd Or GPL-2.0 or (mit and LGPL-2.1)' result = l.dedup(exp) expected = l.parse('GPL-2.0 OR (mit AND LGPL-2.1) OR bsd') assert result == expected def test_dedup_expressions_cannot_be_simplified(self): l = Licensing() exp = l.parse('mit AND (mit OR bsd-new)') result = l.dedup(exp) expected = l.parse('mit AND (mit OR bsd-new)') assert result == expected def test_dedup_expressions_single_license(self): l = Licensing() exp = l.parse('mit') result = l.dedup(exp) expected = l.parse('mit') assert result == expected def test_dedup_expressions_WITH(self): l = Licensing() exp = l.parse('gpl-2.0 with autoconf-exception-2.0') result = l.dedup(exp) expected = l.parse('gpl-2.0 with autoconf-exception-2.0') assert result == expected def test_dedup_expressions_WITH_OR(self): l = Licensing() exp = l.parse('gpl-2.0 with autoconf-exception-2.0 OR gpl-2.0') result = l.dedup(exp) expected = l.parse('gpl-2.0 with autoconf-exception-2.0 OR gpl-2.0') assert result == expected def test_dedup_expressions_WITH_AND(self): l = Licensing() exp = l.parse('gpl-2.0 AND gpl-2.0 with autoconf-exception-2.0 AND gpl-2.0') result = l.dedup(exp) expected = l.parse('gpl-2.0 AND gpl-2.0 with autoconf-exception-2.0') assert result == expected def test_dedup_licensexpressions_can_be_simplified_3(self): l = Licensing() exp = l.parse('mit AND mit') result = l.dedup(exp) expected = l.parse('mit') assert result == expected def test_dedup_licensexpressions_works_with_subexpressions(self): l = Licensing() exp = l.parse('(mit OR gpl-2.0) AND mit AND bsd-new AND (mit OR gpl-2.0)') result = l.dedup(exp) expected = l.parse('(mit OR gpl-2.0) AND mit AND bsd-new') assert result == expected def test_simplify_and_equivalent_and_contains(self): l = Licensing() expr2 = l.parse(' GPL-2.0 or (mit and LGPL-2.1) or bsd Or GPL-2.0 or (mit and LGPL-2.1)') # note thats simplification does SORT the symbols such that they can # eventually be compared sequence-wise. This sorting is based on license key expected = 'GPL-2.0 OR bsd OR (LGPL-2.1 AND mit)' assert str(expr2.simplify()) == expected # Two expressions can be compared for equivalence: expr1 = l.parse(' GPL-2.0 or (LGPL-2.1 and mit) ') assert 'GPL-2.0 OR (LGPL-2.1 AND mit)' == str(expr1) expr2 = l.parse(' (mit and LGPL-2.1) or GPL-2.0 ') assert '(mit AND LGPL-2.1) OR GPL-2.0' == str(expr2) assert l.is_equivalent(expr1, expr2) assert 'GPL-2.0 OR (LGPL-2.1 AND mit)' == str(expr1.simplify()) assert 'GPL-2.0 OR (LGPL-2.1 AND mit)' == str(expr2.simplify()) assert expr1.simplify() == expr2.simplify() expr3 = l.parse(' GPL-2.0 or mit or LGPL-2.1') assert not l.is_equivalent(expr2, expr3) expr4 = l.parse('mit and LGPL-2.1') assert expr4.simplify() in expr2.simplify() assert l.contains(expr2, expr4) def test_contains_works_with_plain_symbol(self): l = Licensing() assert not l.contains('mit', 'mit and LGPL-2.1') assert l.contains('mit and LGPL-2.1', 'mit') assert l.contains('mit', 'mit') assert not l.contains(l.parse('mit'), l.parse('mit and LGPL-2.1')) assert l.contains(l.parse('mit and LGPL-2.1'), l.parse('mit')) assert l.contains('mit with GPL', 'GPL') assert l.contains('mit with GPL', 'mit') assert l.contains('mit with GPL', 'mit with GPL') assert not l.contains('mit with GPL', 'GPL with mit') assert not l.contains('mit with GPL', 'GPL and mit') assert not l.contains('GPL', 'mit with GPL') assert l.contains('mit with GPL and GPL and BSD', 'GPL and BSD') def test_create_from_python(self): # Expressions can be built from Python expressions, using bitwise operators # between Licensing objects, but use with caution. The behavior is not as # well specified that using text expression and parse licensing = Licensing() expr1 = (licensing.LicenseSymbol('GPL-2.0') | (licensing.LicenseSymbol('mit') & licensing.LicenseSymbol('LGPL-2.1'))) expr2 = licensing.parse(' GPL-2.0 or (mit and LGPL-2.1) ') assert 'GPL-2.0 OR (LGPL-2.1 AND mit)' == str(expr1.simplify()) assert 'GPL-2.0 OR (LGPL-2.1 AND mit)' == str(expr2.simplify()) assert licensing.is_equivalent(expr1, expr2) a = licensing.OR( LicenseSymbol(key='gpl-2.0'), licensing.AND(LicenseSymbol(key='mit'), LicenseSymbol(key='lgpl-2.1') ) ) b = licensing.OR( LicenseSymbol(key='gpl-2.0'), licensing.AND(LicenseSymbol(key='mit'), LicenseSymbol(key='lgpl-2.1') ) ) assert a == b def test_parse_with_repeated_or_later_does_not_raise_parse_error(self): l = Licensing() expr = 'LGPL2.1+ + and mit' parsed = l.parse(expr) assert 'LGPL2.1+ + AND mit' == str(parsed) def test_render_complex(self): licensing = Licensing() expression = ''' EPL-1.0 AND Apache-1.1 AND Apache-2.0 AND BSD-Modified AND CPL-1.0 AND ICU-Composite-License AND JPEG-License AND JDOM-License AND LGPL-2.0 AND MIT-Open-Group AND MPL-1.1 AND SAX-PD AND Unicode-Inc-License-Agreement AND W3C-Software-Notice and License AND W3C-Documentation-License''' result = licensing.parse(expression) expected = ('EPL-1.0 AND Apache-1.1 AND Apache-2.0 AND BSD-Modified ' 'AND CPL-1.0 AND ICU-Composite-License AND JPEG-License ' 'AND JDOM-License AND LGPL-2.0 AND MIT-Open-Group AND MPL-1.1 ' 'AND SAX-PD AND Unicode-Inc-License-Agreement ' 'AND W3C-Software-Notice AND License AND W3C-Documentation-License') assert result.render('{symbol.key}') == expected expectedkey = ('EPL-1.0 AND Apache-1.1 AND Apache-2.0 AND BSD-Modified AND ' 'CPL-1.0 AND ICU-Composite-License AND JPEG-License AND JDOM-License AND ' 'LGPL-2.0 AND MIT-Open-Group AND MPL-1.1 AND SAX-PD AND ' 'Unicode-Inc-License-Agreement AND W3C-Software-Notice AND License AND' ' W3C-Documentation-License') assert expectedkey == result.render('{symbol.key}') def test_render_with(self): licensing = Licensing() expression = 'GPL-2.0 with Classpath-2.0 OR BSD-new' result = licensing.parse(expression) expected = 'GPL-2.0 WITH Classpath-2.0 OR BSD-new' assert result.render('{symbol.key}') == expected expected_html = ( 'GPL-2.0 WITH ' 'Classpath-2.0 ' 'OR BSD-new') assert expected_html == result.render('{symbol.key}') expected = 'GPL-2.0 WITH Classpath-2.0 OR BSD-new' assert result.render('{symbol.key}') == expected def test_parse_complex(self): licensing = Licensing() expression = ' GPL-2.0 or later with classpath-Exception and mit or LPL-2.1 and mit or later ' result = licensing.parse(expression) # this may look weird, but we did not provide symbols hence in "or later", # "later" is treated as if it were a license expected = 'GPL-2.0 OR (later WITH classpath-Exception AND mit) OR (LPL-2.1 AND mit) OR later' assert result.render('{symbol.key}') == expected def test_parse_complex2(self): licensing = Licensing() expr = licensing.parse(" GPL-2.0 or LGPL-2.1 and mit ") expected = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LGPL-2.1'), LicenseSymbol('mit') ] assert sorted(licensing.license_symbols(expr)) == expected expected = 'GPL-2.0 OR (LGPL-2.1 AND mit)' assert expr.render('{symbol.key}') == expected def test_Licensing_can_tokenize_valid_expressions_with_symbols_that_contain_and_with_or(self): licensing = Licensing() expression = 'orgpl or withbsd with orclasspath and andmit or anlgpl and ormit or withme' result = list(licensing.tokenize(expression)) expected = [ (LicenseSymbol(key='orgpl'), 'orgpl', 0), (2, 'or', 6), (LicenseWithExceptionSymbol( license_symbol=LicenseSymbol(key='withbsd'), exception_symbol=LicenseSymbol(key='orclasspath')), 'withbsd with orclasspath', 9), (1, 'and', 34), (LicenseSymbol(key='andmit'), 'andmit', 38), (2, 'or', 45), (LicenseSymbol(key='anlgpl'), 'anlgpl', 48), (1, 'and', 55), (LicenseSymbol(key='ormit'), 'ormit', 59), (2, 'or', 65), (LicenseSymbol(key='withme'), 'withme', 68) ] assert result == expected def test_Licensing_can_simple_tokenize_valid_expressions_with_symbols_that_contain_and_with_or(self): licensing = Licensing() expression = 'orgpl or withbsd with orclasspath and andmit or andlgpl and ormit or withme' result = [r.string for r in licensing.simple_tokenizer(expression)] expected = [ 'orgpl', ' ', 'or', ' ', 'withbsd', ' ', 'with', ' ', 'orclasspath', ' ', 'and', ' ', 'andmit', ' ', 'or', ' ', 'andlgpl', ' ', 'and', ' ', 'ormit', ' ', 'or', ' ', 'withme' ] assert result == expected def test_Licensing_can_parse_valid_expressions_with_symbols_that_contain_and_with_or(self): licensing = Licensing() expression = 'orgpl or withbsd with orclasspath and andmit or anlgpl and ormit or withme' result = licensing.parse(expression) expected = 'orgpl OR (withbsd WITH orclasspath AND andmit) OR (anlgpl AND ormit) OR withme' assert result.render('{symbol.key}') == expected def test_Licensing_can_parse_valid_expressions_with_symbols_that_contain_spaces(self): licensing = Licensing() expression = ' GPL-2.0 or (mit and LGPL 2.1) or bsd Or GPL-2.0 or (mit and LGPL 2.1)' parsed = licensing.parse(expression) expected = 'GPL-2.0 OR (mit AND LGPL 2.1) OR bsd OR GPL-2.0 OR (mit AND LGPL 2.1)' assert str(parsed) == expected def test_parse_invalid_expression_with_trailing_or(self): licensing = Licensing() expr = 'mit or' try: licensing.parse(expr) self.fail("Exception not raised when validating '%s'" % expr) except ExpressionError as ee: assert 'OR requires two or more licenses as in: MIT OR BSD' == str(ee) def test_parse_invalid_expression_with_trailing_or_and_valid_start_does_not_raise_exception(self): licensing = Licensing() expression = ' mit or mit or ' parsed = licensing.parse(expression) # ExpressionError: OR requires two or more licenses as in: MIT OR BSD expected = 'mit OR mit' assert str(parsed) == expected def test_parse_invalid_expression_with_repeated_trailing_or_raise_exception(self): licensing = Licensing() expression = 'mit or mit or or' try: licensing.parse(expression, simple=False) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 14, 'token_string': 'or', 'token_type': TOKEN_OR } assert _parse_error_as_dict(pe) == expected def test_parse_invalid_expression_drops_single_trailing_or(self): licensing = Licensing() expression = 'mit or mit or' e = licensing.parse(expression, simple=False) assert str(e) == 'mit OR mit' def test_parse_invalid_expression_drops_single_trailing_or2(self): licensing = Licensing() expression = 'mit or mit or' e = licensing.parse(expression, simple=True) assert str(e) == 'mit OR mit' def test_parse_invalid_expression_with_single_trailing_and_raise_exception(self): licensing = Licensing() expression = 'mit or mit and' try: licensing.parse(expression, simple=False) self.fail('Exception not raised') except ExpressionError as ee: assert 'AND requires two or more licenses as in: MIT AND BSD' == str(ee) def test_parse_invalid_expression_with_single_leading_or_raise_exception(self): licensing = Licensing() expression = 'or mit or mit' try: licensing.parse(expression, simple=False) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 0, 'token_string': 'or', 'token_type': TOKEN_OR } assert _parse_error_as_dict(pe) == expected def test_Licensing_can_parse_expressions_with_symbols_that_contain_a_colon(self): licensing = Licensing() expression = 'DocumentRef-James-1.0:LicenseRef-Eric-2.0' result = licensing.parse(expression) expected = 'DocumentRef-James-1.0:LicenseRef-Eric-2.0' assert result.render('{symbol.key}') == expected class LicensingParseWithSymbolsSimpleTest(TestCase): def test_Licensing_with_overlapping_symbols_with_keywords_does_not_raise_Exception(self): Licensing([ 'GPL-2.0 or LATER', 'classpath Exception', 'something with else+', 'mit', 'LGPL 2.1', 'mit or later' ]) def get_syms_and_licensing(self): a = LicenseSymbol('l-a') ap = LicenseSymbol('L-a+', ['l-a +']) b = LicenseSymbol('l-b') c = LicenseSymbol('l-c') symbols = [a, ap, b, c] return a, ap, b, c, Licensing(symbols) def test_parse_license_expression1(self): a, _ap, _b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a' result = licensing.parse(express_string) assert express_string == str(result) expected = a assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression_with_alias(self): _a, ap, _b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a +' result = licensing.parse(express_string) assert 'L-a+' == str(result) expected = ap assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression3(self): _a, ap, _b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a+' result = licensing.parse(express_string) assert 'L-a+' == str(result) expected = ap assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression4(self): _a, _ap, _b, _c, licensing = self.get_syms_and_licensing() express_string = '(l-a)' result = licensing.parse(express_string) assert 'l-a' == str(result) expected = LicenseSymbol(key='l-a', aliases=()) assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression5(self): _a, ap, b, c, licensing = self.get_syms_and_licensing() express_string = '((l-a+ AND l-b) OR (l-c))' result = licensing.parse(express_string) assert '(L-a+ AND l-b) OR l-c' == str(result) expected = licensing.OR(licensing.AND(ap, b), c) assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression6(self): a, _ap, b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a and l-b' result = licensing.parse(express_string) assert 'l-a AND l-b' == str(result) expected = licensing.AND(a, b) assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression7(self): a, _ap, b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a or l-b' result = licensing.parse(express_string) assert 'l-a OR l-b' == str(result) expected = licensing.OR(a, b) assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression8(self): a, _ap, b, c, licensing = self.get_syms_and_licensing() express_string = 'l-a and l-b OR l-c' result = licensing.parse(express_string) assert '(l-a AND l-b) OR l-c' == str(result) expected = licensing.OR(licensing.AND(a, b), c) assert result == expected assert [] == licensing.unknown_license_keys(result) def test_parse_license_expression8_twice(self): _a, _ap, _b, _c, licensing = self.get_syms_and_licensing() express_string = 'l-a and l-b OR l-c' result = licensing.parse(express_string) assert '(l-a AND l-b) OR l-c' == str(result) # there was some issues with reusing a Licensing result = licensing.parse(express_string) assert '(l-a AND l-b) OR l-c' == str(result) def test_parse_license_expression_with_trailing_space_plus(self): symbols = [ LicenseSymbol('l-a'), LicenseSymbol('L-a+', ['l-a +']), LicenseSymbol('l-b'), LicenseSymbol('l-c'), ] licensing = Licensing(symbols) expresssion_str = 'l-a' result = licensing.parse(expresssion_str) assert str(result) == expresssion_str assert licensing.unknown_license_keys(result) == [] # plus sign is not attached to the symbol, but an alias expresssion_str = 'l-a +' result = licensing.parse(expresssion_str) assert str(result).lower() == 'l-a+' assert licensing.unknown_license_keys(result) == [] expresssion_str = '(l-a)' result = licensing.parse(expresssion_str) assert str(result).lower() == 'l-a' assert licensing.unknown_license_keys(result) == [] expresssion_str = '((l-a+ AND l-b) OR (l-c))' result = licensing.parse(expresssion_str) assert str(result) == '(L-a+ AND l-b) OR l-c' assert licensing.unknown_license_keys(result) == [] expresssion_str = 'l-a and l-b' result = licensing.parse(expresssion_str) assert str(result) == 'l-a AND l-b' assert licensing.unknown_license_keys(result) == [] expresssion_str = 'l-a or l-b' result = licensing.parse(expresssion_str) assert str(result) == 'l-a OR l-b' assert licensing.unknown_license_keys(result) == [] expresssion_str = 'l-a and l-b OR l-c' result = licensing.parse(expresssion_str) assert str(result) == '(l-a AND l-b) OR l-c' assert licensing.unknown_license_keys(result) == [] def test_parse_of_side_by_side_symbols_raise_exception(self): gpl2 = LicenseSymbol('gpl') l = Licensing([gpl2]) try: l.parse('gpl mit') self.fail('ParseError not raised') except ParseError: pass def test_validate_symbols(self): symbols = [ LicenseSymbol('l-a', is_exception=True), LicenseSymbol('l-a'), LicenseSymbol('l-b'), LicenseSymbol('l-c'), ] warnings, errors = validate_symbols(symbols) expectedw = [] assert warnings == expectedw expectede = [ "Invalid duplicated license key: 'l-a'.", ] assert errors == expectede class LicensingParseWithSymbolsTest(TestCase): def test_parse_raise_ParseError_when_validating_strict_with_non_exception_symbols(self): licensing = Licensing(['gpl', 'bsd', 'lgpl', 'exception']) expression = 'gpl and bsd or lgpl with exception' try: licensing.parse(expression, validate=True, strict=True) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_SYMBOL_AS_EXCEPTION, 'position': 25, 'token_string': 'exception', 'token_type': TOKEN_SYMBOL} assert _parse_error_as_dict(pe) == expected def test_parse_raise_ParseError_when_validating_strict_with_exception_symbols_in_incorrect_spot(self): licensing = Licensing([LicenseSymbol('gpl', is_exception=False), LicenseSymbol('exception', is_exception=True)]) licensing.parse('gpl with exception', validate=True, strict=True) try: licensing.parse('exception with gpl', validate=True, strict=True) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_EXCEPTION, 'position': 0, 'token_string': 'exception', 'token_type': TOKEN_SYMBOL} assert _parse_error_as_dict(pe) == expected try: licensing.parse('gpl with gpl', validate=True, strict=True) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_SYMBOL_AS_EXCEPTION, 'position': 9, 'token_string': 'gpl', 'token_type': TOKEN_SYMBOL} assert _parse_error_as_dict(pe) == expected def test_with_unknown_symbol_string_contained_in_known_symbol_does_not_crash_with(self): l = Licensing(['lgpl-3.0-plus']) license_expression = 'lgpl-3.0-plus WITH openssl-exception-lgpl-3.0-plus' l.parse(license_expression) def test_with_unknown_symbol_string_contained_in_known_symbol_does_not_crash_and(self): l = Licensing(['lgpl-3.0-plus']) license_expression = 'lgpl-3.0-plus AND openssl-exception-lgpl-3.0-plus' l.parse(license_expression) def test_with_unknown_symbol_string_contained_in_known_symbol_does_not_crash_or(self): l = Licensing(['lgpl-3.0-plus']) license_expression = 'lgpl-3.0-plus OR openssl-exception-lgpl-3.0-plus' l.parse(license_expression) def test_with_known_symbol_string_contained_in_known_symbol_does_not_crash_or(self): l = Licensing(['lgpl-3.0-plus', 'openssl-exception-lgpl-3.0-plus']) license_expression = 'lgpl-3.0-plus OR openssl-exception-lgpl-3.0-plus' l.parse(license_expression) def test_with_known_symbol_string_contained_in_known_symbol_does_not_crash_with(self): l = Licensing(['lgpl-3.0-plus', 'openssl-exception-lgpl-3.0-plus']) license_expression = 'lgpl-3.0-plus WITH openssl-exception-lgpl-3.0-plus' l.parse(license_expression) class LicensingSymbolsReplacement(TestCase): def get_symbols_and_licensing(self): gpl2 = LicenseSymbol('gpl-2.0', ['The GNU GPL 20', 'GPL-2.0', 'GPL v2.0']) gpl2plus = LicenseSymbol('gpl-2.0+', ['The GNU GPL 20 or later', 'GPL-2.0 or later', 'GPL v2.0 or later']) lgpl = LicenseSymbol('LGPL-2.1', ['LGPL v2.1']) mit = LicenseSymbol('MIT', ['MIT license']) mitand2 = LicenseSymbol('mitand2', ['mitand2', 'mitand2 license']) symbols = [gpl2, gpl2plus, lgpl, mit, mitand2] licensing = Licensing(symbols) return gpl2, gpl2plus, lgpl, mit, mitand2, licensing def test_simple_substitution(self): gpl2, gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() subs = {gpl2plus: gpl2} expr = licensing.parse('gpl-2.0 or gpl-2.0+') result = expr.subs(subs) assert 'gpl-2.0 OR gpl-2.0' == result.render() def test_advanced_substitution(self): _gpl2, _gpl2plus, lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() source = licensing.parse('gpl-2.0+ and mit') target = lgpl subs = {source: target} expr = licensing.parse('gpl-2.0 or gpl-2.0+ and mit') result = expr.subs(subs) assert 'gpl-2.0 OR LGPL-2.1' == result.render() def test_multiple_substitutions(self): gpl2, gpl2plus, lgpl, mit, _mitand2, licensing = self.get_symbols_and_licensing() source1 = licensing.parse('gpl-2.0+ and mit') target1 = lgpl source2 = licensing.parse('mitand2') target2 = mit source3 = gpl2 target3 = gpl2plus subs = dict([ (source1, target1), (source2, target2), (source3, target3), ]) expr = licensing.parse('gpl-2.0 or gpl-2.0+ and mit') # step 1: yields 'gpl-2.0 or lgpl' # step 2: yields 'gpl-2.0+ or LGPL-2.1' result = expr.subs(subs) assert 'gpl-2.0+ OR LGPL-2.1' == result.render() def test_multiple_substitutions_complex(self): gpl2, gpl2plus, lgpl, mit, _mitand2, licensing = self.get_symbols_and_licensing() source1 = licensing.parse('gpl-2.0+ and mit') target1 = lgpl source2 = licensing.parse('mitand2') target2 = mit source3 = gpl2 target3 = gpl2plus subs = dict([ (source1, target1), (source2, target2), (source3, target3), ]) expr = licensing.parse('(gpl-2.0 or gpl-2.0+ and mit) and (gpl-2.0 or gpl-2.0+ and mit)') # step 1: yields 'gpl-2.0 or lgpl' # step 2: yields 'gpl-2.0+ or LGPL-2.1' result = expr.subs(subs) assert '(gpl-2.0+ OR LGPL-2.1) AND (gpl-2.0+ OR LGPL-2.1)' == result.render() expr = licensing.parse('(gpl-2.0 or mit and gpl-2.0+) and (gpl-2.0 or gpl-2.0+ and mit)') # step 1: yields 'gpl-2.0 or lgpl' # step 2: yields 'gpl-2.0+ or LGPL-2.1' result = expr.subs(subs) assert '(gpl-2.0+ OR LGPL-2.1) AND (gpl-2.0+ OR LGPL-2.1)' == result.render() class LicensingParseWithSymbolsAdvancedTest(TestCase): def get_symbols_and_licensing(self): gpl2 = LicenseSymbol('gpl-2.0', ['The GNU GPL 20', 'GPL-2.0', 'GPL v2.0']) gpl2plus = LicenseSymbol('gpl-2.0+', ['The GNU GPL 20 or later', 'GPL-2.0 or later', 'GPL v2.0 or later']) lgpl = LicenseSymbol('LGPL-2.1', ['LGPL v2.1']) mit = LicenseSymbol('MIT', ['MIT license']) mitand2 = LicenseSymbol('mitand2', ['mitand2', 'mitand2 license']) symbols = [gpl2, gpl2plus, lgpl, mit, mitand2] licensing = Licensing(symbols) return gpl2, gpl2plus, lgpl, mit, mitand2, licensing def test_parse_trailing_char_does_not_raise_exception_without_validate(self): _gpl2, _gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() e = licensing.parse('The GNU GPL 20 or LGPL-2.1 and mit2', validate=False) assert 'gpl-2.0 OR (LGPL-2.1 AND mit2)' == str(e) def test_parse_trailing_char_raise_exception_with_validate(self): _gpl2, _gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() try: licensing.parse('The GNU GPL 20 or LGPL-2.1 and mit2', validate=True) self.fail('Exception not raised') except ExpressionError as ee: assert 'Unknown license key(s): mit2' == str(ee) def test_parse_expression_with_trailing_unknown_should_raise_exception(self): gpl2, gpl2plus, lgpl, mit, _mitand2, licensing = self.get_symbols_and_licensing() unknown = LicenseSymbol(key='123') tokens = list(licensing.tokenize('The GNU GPL 20 or later or (LGPL-2.1 and mit) or The GNU GPL 20 or mit 123')) expected = [ (gpl2plus, 'The GNU GPL 20 or later', 0), (TOKEN_OR, 'or', 24), (TOKEN_LPAR, '(', 27), (lgpl, 'LGPL-2.1', 28), (TOKEN_AND, 'and', 37), (mit, 'mit', 41), (TOKEN_RPAR, ')', 44), (TOKEN_OR, 'or', 46), (gpl2, 'The GNU GPL 20', 49), (TOKEN_OR, 'or', 64), (mit, 'mit', 67), (unknown, '123', 71) ] assert tokens == expected try: licensing.parse('The GNU GPL 20 or later or (LGPL-2.1 and mit) or The GNU GPL 20 or mit 123') self.fail('Exception not raised') except ParseError as pe: expected = {'error_code': PARSE_INVALID_SYMBOL_SEQUENCE, 'position': 71, 'token_string': '123', 'token_type': unknown} assert _parse_error_as_dict(pe) == expected def test_parse_expression_with_trailing_unknown_should_raise_exception2(self): _gpl2, _gpl2_plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() unknown = LicenseSymbol(key='123') try: licensing.parse('The GNU GPL 20 or mit 123') # 01234567890123456789012345 self.fail('Exception not raised') except ParseError as pe: expected = {'error_code': PARSE_INVALID_SYMBOL_SEQUENCE, 'position': 22, 'token_string': '123', 'token_type': unknown} assert _parse_error_as_dict(pe) == expected def test_parse_expression_with_WITH(self): gpl2, _gpl2plus, lgpl, mit, mitand2, _ = self.get_symbols_and_licensing() mitexp = LicenseSymbol('mitexp', ('mit exp',), is_exception=True) gpl_20_or_later = LicenseSymbol('GPL-2.0+', ['The GNU GPL 20 or later']) symbols = [gpl2, lgpl, mit, mitand2, mitexp, gpl_20_or_later] licensing = Licensing(symbols) expr = 'The GNU GPL 20 or later or (LGPL-2.1 and mit) or The GNU GPL 20 or mit with mit exp' tokens = list(licensing.tokenize(expr)) expected = [ (gpl_20_or_later, 'The GNU GPL 20 or later', 0), (TOKEN_OR, 'or', 24), (TOKEN_LPAR, '(', 27), (lgpl, 'LGPL-2.1', 28), (TOKEN_AND, 'and', 37), (mit, 'mit', 41), (TOKEN_RPAR, ')', 44), (TOKEN_OR, 'or', 46), (gpl2, 'The GNU GPL 20', 49), (TOKEN_OR, 'or', 64), (LicenseWithExceptionSymbol(mit, mitexp), 'mit with mit exp', 67) ] assert tokens == expected parsed = licensing.parse(expr) expected = 'GPL-2.0+ OR (LGPL-2.1 AND MIT) OR gpl-2.0 OR MIT WITH mitexp' assert str(parsed) == expected expected = 'GPL-2.0+ OR (LGPL-2.1 AND MIT) OR gpl-2.0 OR MIT WITH mitexp' assert parsed.render() == expected def test_parse_expression_with_WITH_and_unknown_symbol(self): gpl2, _gpl2plus, lgpl, mit, mitand2, _ = self.get_symbols_and_licensing() mitexp = LicenseSymbol('mitexp', ('mit exp',), is_exception=True) gpl_20_or_later = LicenseSymbol('GPL-2.0+', ['The GNU GPL 20 or later']) symbols = [gpl2, lgpl, mit, mitand2, mitexp, gpl_20_or_later] licensing = Licensing(symbols) expr = 'The GNU GPL 20 or later or (LGPL-2.1 and mit) or The GNU GPL 20 or mit with 123' parsed = licensing.parse(expr) assert ['123'] == licensing.unknown_license_keys(parsed) assert ['123'] == licensing.unknown_license_keys(expr) def test_unknown_keys(self): _gpl2, _gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() expr = 'The GNU GPL 20 or LGPL-2.1 and mit' parsed = licensing.parse(expr) expected = 'gpl-2.0 OR (LGPL-2.1 AND MIT)' assert str(parsed) == expected assert 'gpl-2.0 OR (LGPL-2.1 AND MIT)' == parsed.render('{symbol.key}') assert [] == licensing.unknown_license_keys(parsed) assert [] == licensing.unknown_license_keys(expr) def test_unknown_keys_with_trailing_char(self): gpl2, _gpl2plus, lgpl, _mit, mitand2, licensing = self.get_symbols_and_licensing() expr = 'The GNU GPL 20 or LGPL-2.1 and mitand2' parsed = licensing.parse(expr) expected = [gpl2, lgpl, mitand2] assert licensing.license_symbols(parsed) == expected assert licensing.license_symbols(licensing.parse(parsed)) == expected assert licensing.license_symbols(expr) == expected assert [] == licensing.unknown_license_keys(parsed) assert [] == licensing.unknown_license_keys(expr) def test_unknown_keys_with_trailing_char_2_with_validate(self): _gpl2, _gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() expr = 'The GNU GPL 20 or LGPL-2.1 and mitand3' try: licensing.parse(expr, validate=True) self.fail('Exception should be raised') except ExpressionError as ee: assert 'Unknown license key(s): mitand3' == str(ee) def test_unknown_keys_with_trailing_char_2_without_validate(self): _gpl2, _gpl2plus, _lgpl, _mit, _mitand2, licensing = self.get_symbols_and_licensing() expr = 'The GNU GPL 20 or LGPL-2.1 and mitand3' parsed = licensing.parse(expr, validate=False) assert 'gpl-2.0 OR (LGPL-2.1 AND mitand3)' == str(parsed) def test_parse_with_overlapping_key_without_symbols(self): expression = 'mit or mit AND zlib or mit or mit with verylonglicense' # 1111111111222222222233333333334444444444555555555566666 # 0123456789012345678901234567890123456789012345678901234 licensing = Licensing() results = str(licensing.parse(expression)) expected = 'mit OR (mit AND zlib) OR mit OR mit WITH verylonglicense' assert results == expected def test_advanced_tokenizer_tokenize_with_overlapping_key_with_symbols_and_trailing_unknown(self): expression = 'mit or mit AND zlib or mit or mit with verylonglicense' # 111111111122222222223333333333444444444455555 # 0123456789012345678901234567890123456789012345678901234 symbols = [ LicenseSymbol('MIT', ['MIT license']), LicenseSymbol('LGPL-2.1', ['LGPL v2.1']), LicenseSymbol('zlib', ['zlib']), LicenseSymbol('d-zlib', ['D zlib']), LicenseSymbol('mito', ['mit o']), LicenseSymbol('hmit', ['h verylonglicense']), ] licensing = Licensing(symbols) results = list(licensing.get_advanced_tokenizer().tokenize(expression)) expected = [ Token(0, 2, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(4, 5, 'or', Keyword(value=u'or', type=2)), Token(7, 9, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(11, 13, 'AND', Keyword(value=u'and', type=1)), Token(15, 18, 'zlib', LicenseSymbol(u'zlib', aliases=(u'zlib',))), Token(20, 21, 'or', Keyword(value=u'or', type=2)), Token(23, 25, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(27, 28, 'or', Keyword(value=u'or', type=2)), Token(30, 32, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(34, 37, 'with', Keyword(value=u'with', type=10)), Token(39, 53, 'verylonglicense', None), ] assert results == expected def test_advanced_tokenizer_iter_with_overlapping_key_with_symbols_and_trailing_unknown(self): expression = 'mit or mit AND zlib or mit or mit with verylonglicense' # 111111111122222222223333333333444444444455555 # 0123456789012345678901234567890123456789012345678901234 symbols = [ LicenseSymbol('MIT', ['MIT license']), LicenseSymbol('LGPL-2.1', ['LGPL v2.1']), LicenseSymbol('zlib', ['zlib']), LicenseSymbol('d-zlib', ['D zlib']), LicenseSymbol('mito', ['mit o']), LicenseSymbol('hmit', ['h verylonglicense']), ] licensing = Licensing(symbols) results = list(licensing.get_advanced_tokenizer().iter(expression, include_unmatched=True)) expected = [ Token(0, 2, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(4, 5, 'or', Keyword(value=u'or', type=2)), Token(7, 9, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(11, 13, 'AND', Keyword(value=u'and', type=1)), Token(15, 18, 'zlib', LicenseSymbol(u'zlib', aliases=(u'zlib',))), Token(20, 21, 'or', Keyword(value=u'or', type=2)), Token(23, 25, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(27, 28, 'or', Keyword(value=u'or', type=2)), Token(30, 32, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(34, 37, 'with', Keyword(value=u'with', type=10)), Token(39, 53, 'verylonglicense', None), ] assert results == expected def test_advanced_tokenizer_iter_with_overlapping_key_with_symbols_and_trailing_unknown2(self): expression = 'mit with verylonglicense' symbols = [ LicenseSymbol('MIT', ['MIT license']), LicenseSymbol('hmit', ['h verylonglicense']), ] licensing = Licensing(symbols) results = list(licensing.get_advanced_tokenizer().iter(expression, include_unmatched=True)) expected = [ Token(0, 2, 'mit', LicenseSymbol(u'MIT', aliases=(u'MIT license',))), Token(4, 7, 'with', Keyword(value=u'with', type=10)), Token(9, 23, 'verylonglicense', None), ] assert results == expected def test_tokenize_with_overlapping_key_with_symbols_and_trailing_unknown(self): expression = 'mit or mit AND zlib or mit or mit with verylonglicense' # 1111111111222222222233333333334444444444555555555566666 # 0123456789012345678901234567890123456789012345678901234 symbols = [ LicenseSymbol('MIT', ['MIT license']), LicenseSymbol('LGPL-2.1', ['LGPL v2.1']), LicenseSymbol('zlib', ['zlib']), LicenseSymbol('d-zlib', ['D zlib']), LicenseSymbol('mito', ['mit o']), LicenseSymbol('hmit', ['h verylonglicense']), ] licensing = Licensing(symbols) results = list(licensing.tokenize(expression)) expected = [ (LicenseSymbol(u'MIT', aliases=(u'MIT license',)), 'mit', 0), (2, 'or', 4), (LicenseSymbol(u'MIT', aliases=(u'MIT license',)), 'mit', 7), (1, 'AND', 11), (LicenseSymbol(u'zlib', aliases=(u'zlib',)), 'zlib', 15), (2, 'or', 20), (LicenseSymbol(u'MIT', aliases=(u'MIT license',)), 'mit', 23), (2, 'or', 27), (LicenseWithExceptionSymbol( license_symbol=LicenseSymbol(u'MIT', aliases=(u'MIT license',)), exception_symbol=LicenseSymbol(u'verylonglicense')), 'mit with verylonglicense', 30) ] assert results == expected results = str(licensing.parse(expression)) expected = 'MIT OR (MIT AND zlib) OR MIT OR MIT WITH verylonglicense' assert results == expected class LicensingSymbolsTest(TestCase): def test_get_license_symbols(self): symbols = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1') ] l = Licensing(symbols) assert symbols == l.license_symbols(l.parse(' GPL-2.0 and mit or LGPL 2.1 and mit ')) def test_get_license_symbols2(self): symbols = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LATER'), LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1+'), LicenseSymbol('Foo exception', is_exception=True), ] l = Licensing(symbols) expr = ' GPL-2.0 or LATER and mit or LGPL 2.1+ and mit with Foo exception ' expected = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LATER'), LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1+'), LicenseSymbol('mit'), LicenseSymbol('Foo exception', is_exception=True), ] assert l.license_symbols(l.parse(expr), unique=False) == expected def test_get_license_symbols3(self): symbols = [ LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1+'), LicenseSymbol('Foo exception', is_exception=True), LicenseSymbol('GPL-2.0'), LicenseSymbol('LATER'), ] l = Licensing(symbols) expr = 'mit or LGPL 2.1+ and mit with Foo exception or GPL-2.0 or LATER ' assert symbols == l.license_symbols(l.parse(expr)) def test_get_license_symbols4(self): symbols = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LATER'), LicenseSymbol('big exception', is_exception=True), LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1+'), LicenseSymbol('Foo exception', is_exception=True), ] l = Licensing(symbols) expr = (' GPL-2.0 or LATER with big exception and mit or ' 'LGPL 2.1+ and mit or later with Foo exception ') expected = [ LicenseSymbol('GPL-2.0'), LicenseSymbol('LATER'), LicenseSymbol('big exception', is_exception=True), LicenseSymbol('mit'), LicenseSymbol('LGPL 2.1+'), LicenseSymbol('mit'), LicenseSymbol('LATER'), LicenseSymbol('Foo exception', is_exception=True), ] assert l.license_symbols(l.parse(expr), unique=False) == expected def test_license_symbols(self): licensing = Licensing([ 'GPL-2.0 or LATER', 'classpath Exception', 'something with else+', 'mit', 'LGPL 2.1', 'mit or later' ]) expr = (' GPL-2.0 or LATER with classpath Exception and mit and ' 'mit with SOMETHING with ELSE+ or LGPL 2.1 and ' 'GPL-2.0 or LATER with classpath Exception and ' 'mit or later or LGPL 2.1 or mit or GPL-2.0 or LATER ' 'with SOMETHING with ELSE+ and lgpl 2.1') gpl2plus = LicenseSymbol(key='GPL-2.0 or LATER') cpex = LicenseSymbol(key='classpath Exception') someplus = LicenseSymbol(key='something with else+') mitplus = LicenseSymbol(key='mit or later') mit = LicenseSymbol(key='mit') lgpl = LicenseSymbol(key='LGPL 2.1') gpl_with_cp = LicenseWithExceptionSymbol(license_symbol=gpl2plus, exception_symbol=cpex) mit_with_some = LicenseWithExceptionSymbol(license_symbol=mit, exception_symbol=someplus) gpl2_with_someplus = LicenseWithExceptionSymbol(license_symbol=gpl2plus, exception_symbol=someplus) parsed = licensing.parse(expr) expected = [gpl_with_cp, mit, mit_with_some, lgpl, gpl_with_cp, mitplus, lgpl, mit, gpl2_with_someplus, lgpl] assert licensing.license_symbols(parsed, unique=False, decompose=False) == expected expected = [gpl_with_cp, mit, mit_with_some, lgpl, mitplus, gpl2_with_someplus] assert licensing.license_symbols(parsed, unique=True, decompose=False) == expected expected = [gpl2plus, cpex, mit, mit, someplus, lgpl, gpl2plus, cpex, mitplus, lgpl, mit, gpl2plus, someplus, lgpl] assert licensing.license_symbols(parsed, unique=False, decompose=True) == expected expected = [gpl2plus, cpex, mit, someplus, lgpl, mitplus] assert licensing.license_symbols(parsed, unique=True, decompose=True) == expected def test_primary_license_symbol_and_primary_license_key(self): licensing = Licensing([ 'GPL-2.0 or LATER', 'classpath Exception', 'mit', 'LGPL 2.1', 'mit or later' ]) expr = ' GPL-2.0 or LATER with classpath Exception and mit or LGPL 2.1 and mit or later ' gpl = LicenseSymbol('GPL-2.0 or LATER') cpex = LicenseSymbol('classpath Exception') expected = LicenseWithExceptionSymbol(gpl, cpex) parsed = licensing.parse(expr) assert licensing.primary_license_symbol(parsed, decompose=False) == expected assert gpl == licensing.primary_license_symbol(parsed, decompose=True) assert 'GPL-2.0 or LATER' == licensing.primary_license_key(parsed) expr = ' GPL-2.0 or later with classpath Exception and mit or LGPL 2.1 and mit or later ' expected = 'GPL-2.0 or LATER WITH classpath Exception' result = licensing.primary_license_symbol( parsed, decompose=False ).render('{symbol.key}') assert result == expected def test_render_plain(self): l = Licensing() result = l.parse('gpl-2.0 WITH exception-gpl-2.0-plus or MIT').render() expected = 'gpl-2.0 WITH exception-gpl-2.0-plus OR MIT' assert result == expected def test_render_as_readable_does_not_wrap_in_parens_single_with(self): l = Licensing() result = l.parse('gpl-2.0 WITH exception-gpl-2.0-plus').render_as_readable() expected = 'gpl-2.0 WITH exception-gpl-2.0-plus' assert result == expected def test_render_as_readable_wraps_in_parens_with_and_other_subexpressions(self): l = Licensing() result = l.parse('mit AND gpl-2.0 WITH exception-gpl-2.0-plus').render_as_readable() expected = 'mit AND (gpl-2.0 WITH exception-gpl-2.0-plus)' assert result == expected def test_render_as_readable_does_not_wrap_in_parens_if_no_with(self): l = Licensing() result1 = l.parse('gpl-2.0 and exception OR that').render_as_readable() result2 = l.parse('gpl-2.0 and exception OR that').render() assert result1 == result2 class SplitAndTokenizeTest(TestCase): def test_simple_tokenizer(self): expr = (' GPL-2.0 or later with classpath Exception and mit and ' 'mit with SOMETHING with ELSE+ or LGPL 2.1 and ' 'GPL-2.0 or LATER with (Classpath Exception and ' 'mit or later) or LGPL 2.1 or mit or GPL-2.0 or LATER ' 'with SOMETHING with ELSE+ and lgpl 2.1') licensing = Licensing() results = list(licensing.simple_tokenizer(expr)) expected = [ Token(0, 0, ' ', None), Token(1, 7, 'GPL-2.0', LicenseSymbol(key='GPL-2.0')), Token(8, 8, ' ', None), Token(9, 10, 'or', Keyword(value='or', type=TOKEN_OR)), Token(11, 11, ' ', None), Token(12, 16, 'later', LicenseSymbol(key='later')), Token(17, 17, ' ', None), Token(18, 21, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(22, 22, ' ', None), Token(23, 31, 'classpath', LicenseSymbol(key='classpath')), Token(32, 32, ' ', None), Token(33, 41, 'Exception', LicenseSymbol(key='Exception')), Token(42, 42, ' ', None), Token(43, 45, 'and', Keyword(value='and', type=TOKEN_AND)), Token(46, 46, ' ', None), Token(47, 49, 'mit', LicenseSymbol(key='mit')), Token(50, 50, ' ', None), Token(51, 53, 'and', Keyword(value='and', type=TOKEN_AND)), Token(54, 54, ' ', None), Token(55, 57, 'mit', LicenseSymbol(key='mit')), Token(58, 58, ' ', None), Token(59, 62, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(63, 63, ' ', None), Token(64, 72, 'SOMETHING', LicenseSymbol(key='SOMETHING')), Token(73, 73, ' ', None), Token(74, 77, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(78, 78, ' ', None), Token(79, 83, 'ELSE+', LicenseSymbol(key='ELSE+')), Token(84, 84, ' ', None), Token(85, 86, 'or', Keyword(value='or', type=TOKEN_OR)), Token(87, 87, ' ', None), Token(88, 91, 'LGPL', LicenseSymbol(key='LGPL')), Token(92, 92, ' ', None), Token(93, 95, '2.1', LicenseSymbol(key='2.1')), Token(96, 96, ' ', None), Token(97, 99, 'and', Keyword(value='and', type=TOKEN_AND)), Token(100, 100, ' ', None), Token(101, 107, 'GPL-2.0', LicenseSymbol(key='GPL-2.0')), Token(108, 108, ' ', None), Token(109, 110, 'or', Keyword(value='or', type=TOKEN_OR)), Token(111, 111, ' ', None), Token(112, 116, 'LATER', LicenseSymbol(key='LATER')), Token(117, 117, ' ', None), Token(118, 121, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(122, 122, ' ', None), Token(123, 123, '(', Keyword(value='(', type=TOKEN_LPAR)), Token(124, 132, 'Classpath', LicenseSymbol(key='Classpath')), Token(133, 133, ' ', None), Token(134, 142, 'Exception', LicenseSymbol(key='Exception')), Token(143, 143, ' ', None), Token(144, 146, 'and', Keyword(value='and', type=TOKEN_AND)), Token(147, 147, ' ', None), Token(148, 150, 'mit', LicenseSymbol(key='mit')), Token(151, 151, ' ', None), Token(152, 153, 'or', Keyword(value='or', type=TOKEN_OR)), Token(154, 154, ' ', None), Token(155, 159, 'later', LicenseSymbol(key='later')), Token(160, 160, ')', Keyword(value=')', type=TOKEN_RPAR)), Token(161, 161, ' ', None), Token(162, 163, 'or', Keyword(value='or', type=TOKEN_OR)), Token(164, 164, ' ', None), Token(165, 168, 'LGPL', LicenseSymbol(key='LGPL')), Token(169, 169, ' ', None), Token(170, 172, '2.1', LicenseSymbol(key='2.1')), Token(173, 173, ' ', None), Token(174, 175, 'or', Keyword(value='or', type=TOKEN_OR)), Token(176, 176, ' ', None), Token(177, 179, 'mit', LicenseSymbol(key='mit')), Token(180, 180, ' ', None), Token(181, 182, 'or', Keyword(value='or', type=TOKEN_OR)), Token(183, 183, ' ', None), Token(184, 190, 'GPL-2.0', LicenseSymbol(key='GPL-2.0')), Token(191, 191, ' ', None), Token(192, 193, 'or', Keyword(value='or', type=TOKEN_OR)), Token(194, 194, ' ', None), Token(195, 199, 'LATER', LicenseSymbol(key='LATER')), Token(200, 200, ' ', None), Token(201, 204, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(205, 205, ' ', None), Token(206, 214, 'SOMETHING', LicenseSymbol(key='SOMETHING')), Token(215, 215, ' ', None), Token(216, 219, 'with', Keyword(value='with', type=TOKEN_WITH)), Token(220, 220, ' ', None), Token(221, 225, 'ELSE+', LicenseSymbol(key='ELSE+')), Token(226, 226, ' ', None), Token(227, 229, 'and', Keyword(value='and', type=TOKEN_AND)), Token(230, 230, ' ', None), Token(231, 234, 'lgpl', LicenseSymbol(key='lgpl')), Token(235, 235, ' ', None), Token(236, 238, '2.1', LicenseSymbol(key='2.1',)) ] assert results == expected def test_tokenize_can_handle_expressions_with_symbols_that_contain_a_colon(self): licensing = Licensing() expression = 'DocumentRef-James-1.0:LicenseRef-Eric-2.0' result = list(licensing.tokenize(expression)) expected = [ (LicenseSymbol(u'DocumentRef-James-1.0:LicenseRef-Eric-2.0', is_exception=False), u'DocumentRef-James-1.0:LicenseRef-Eric-2.0', 0) ] assert result == expected def test_tokenize_simple_can_handle_expressions_with_symbols_that_contain_a_colon(self): licensing = Licensing() expression = 'DocumentRef-James-1.0:LicenseRef-Eric-2.0' result = list(licensing.tokenize(expression, simple=True)) expected = [ (LicenseSymbol(u'DocumentRef-James-1.0:LicenseRef-Eric-2.0', is_exception=False), u'DocumentRef-James-1.0:LicenseRef-Eric-2.0', 0) ] assert result == expected def test_tokenize_can_handle_expressions_with_tabs_and_new_lines(self): licensing = Licensing() expression = 'this\t \tis \n\n an expression' result = list(licensing.tokenize(expression, simple=False)) expected = [ (LicenseSymbol(u'this is an expression', is_exception=False), u'this is an expression', 0) ] assert result == expected def test_tokenize_simple_can_handle_expressions_with_tabs_and_new_lines(self): licensing = Licensing() expression = 'this\t \tis \n\n an expression' result = list(licensing.tokenize(expression, simple=True)) expected = [ (LicenseSymbol(u'this', is_exception=False), u'this', 0), (LicenseSymbol(u'is', is_exception=False), u'is', 7), (LicenseSymbol(u'an', is_exception=False), u'an', 13), (LicenseSymbol(u'expression', is_exception=False), u'expression', 16) ] assert result == expected def test_tokenize_step_by_step_does_not_munge_trailing_symbols(self): gpl2 = LicenseSymbol(key='GPL-2.0') gpl2plus = LicenseSymbol(key='GPL-2.0 or LATER') cpex = LicenseSymbol(key='classpath Exception', is_exception=True) mitthing = LicenseSymbol(key='mithing') mitthing_with_else = LicenseSymbol(key='mitthing with else+', is_exception=False) mit = LicenseSymbol(key='mit') mitplus = LicenseSymbol(key='mit or later') elsish = LicenseSymbol(key='else') elsishplus = LicenseSymbol(key='else+') lgpl = LicenseSymbol(key='LGPL 2.1') licensing = Licensing([ gpl2, gpl2plus, cpex, mitthing, mitthing_with_else, mit, mitplus, elsish, elsishplus, lgpl, ]) expr = (' GPL-2.0 or later with classpath Exception and mit and ' 'mit with mitthing with ELSE+ or LGPL 2.1 and ' 'GPL-2.0 or LATER with Classpath Exception and ' 'mit or later or LGPL 2.1 or mit or GPL-2.0 or LATER ' 'with mitthing with ELSE+ and lgpl 2.1 or gpl-2.0') # fist tokenize tokenizer = licensing.get_advanced_tokenizer() result = list(tokenizer.tokenize(expr)) expected = [ Token(1, 16, 'GPL-2.0 or later', LicenseSymbol(u'GPL-2.0 or LATER')), Token(18, 21, 'with', Keyword(value=u'with', type=10)), Token(23, 41, 'classpath Exception', LicenseSymbol(u'classpath Exception', is_exception=True)), Token(43, 45, 'and', Keyword(value=u'and', type=1)), Token(47, 49, 'mit', LicenseSymbol(u'mit')), Token(51, 53, 'and', Keyword(value=u'and', type=1)), Token(55, 57, 'mit', LicenseSymbol(u'mit')), Token(59, 62, 'with', Keyword(value=u'with', type=10)), Token(64, 82, 'mitthing with ELSE+', LicenseSymbol(u'mitthing with else+')), Token(84, 85, 'or', Keyword(value=u'or', type=2)), Token(87, 94, 'LGPL 2.1', LicenseSymbol(u'LGPL 2.1')), Token(96, 98, 'and', Keyword(value=u'and', type=1)), Token(100, 115, 'GPL-2.0 or LATER', LicenseSymbol(u'GPL-2.0 or LATER')), Token(117, 120, 'with', Keyword(value=u'with', type=10)), Token(122, 140, 'Classpath Exception', LicenseSymbol(u'classpath Exception', is_exception=True)), Token(142, 144, 'and', Keyword(value=u'and', type=1)), Token(146, 157, 'mit or later', LicenseSymbol(u'mit or later')), Token(159, 160, 'or', Keyword(value=u'or', type=2)), Token(162, 169, 'LGPL 2.1', LicenseSymbol(u'LGPL 2.1')), Token(171, 172, 'or', Keyword(value=u'or', type=2)), Token(174, 176, 'mit', LicenseSymbol(u'mit')), Token(178, 179, 'or', Keyword(value=u'or', type=2)), Token(181, 196, 'GPL-2.0 or LATER', LicenseSymbol(u'GPL-2.0 or LATER')), Token(198, 201, 'with', Keyword(value=u'with', type=10)), Token(203, 221, 'mitthing with ELSE+', LicenseSymbol(u'mitthing with else+')), Token(223, 225, 'and', Keyword(value=u'and', type=1)), Token(227, 234, 'lgpl 2.1', LicenseSymbol(u'LGPL 2.1')), Token(236, 237, 'or', Keyword(value=u'or', type=2)), Token(239, 245, 'gpl-2.0', LicenseSymbol(u'GPL-2.0')) ] assert result == expected expected_groups = [ (Token(1, 16, 'GPL-2.0 or later', LicenseSymbol(u'GPL-2.0 or LATER')), Token(18, 21, 'with', Keyword(value=u'with', type=10)), Token(23, 41, 'classpath Exception', LicenseSymbol(u'classpath Exception', is_exception=True))), (Token(43, 45, 'and', Keyword(value=u'and', type=1)),), (Token(47, 49, 'mit', LicenseSymbol(u'mit')),), (Token(51, 53, 'and', Keyword(value=u'and', type=1)),), (Token(55, 57, 'mit', LicenseSymbol(u'mit')), Token(59, 62, 'with', Keyword(value=u'with', type=10)), Token(64, 82, 'mitthing with ELSE+', LicenseSymbol(u'mitthing with else+'))), (Token(84, 85, 'or', Keyword(value=u'or', type=2)),), (Token(87, 94, 'LGPL 2.1', LicenseSymbol(u'LGPL 2.1')),), (Token(96, 98, 'and', Keyword(value=u'and', type=1)),), (Token(100, 115, 'GPL-2.0 or LATER', LicenseSymbol(u'GPL-2.0 or LATER')), Token(117, 120, 'with', Keyword(value=u'with', type=10)), Token(122, 140, 'Classpath Exception', LicenseSymbol(u'classpath Exception', is_exception=True))), (Token(142, 144, 'and', Keyword(value=u'and', type=1)),), (Token(146, 157, 'mit or later', LicenseSymbol(u'mit or later')),), (Token(159, 160, 'or', Keyword(value=u'or', type=2)),), (Token(162, 169, 'LGPL 2.1', LicenseSymbol(u'LGPL 2.1')),), (Token(171, 172, 'or', Keyword(value=u'or', type=2)),), (Token(174, 176, 'mit', LicenseSymbol(u'mit')),), (Token(178, 179, 'or', Keyword(value=u'or', type=2)),), (Token(181, 196, 'GPL-2.0 or LATER', LicenseSymbol(u'GPL-2.0 or LATER')), Token(198, 201, 'with', Keyword(value=u'with', type=10)), Token(203, 221, 'mitthing with ELSE+', LicenseSymbol(u'mitthing with else+'))), (Token(223, 225, 'and', Keyword(value=u'and', type=1)),), (Token(227, 234, 'lgpl 2.1', LicenseSymbol(u'LGPL 2.1')),), (Token(236, 237, 'or', Keyword(value=u'or', type=2)),), (Token(239, 245, 'gpl-2.0', LicenseSymbol(u'GPL-2.0')),) ] result_groups = list(build_token_groups_for_with_subexpression(result)) assert expected_groups == result_groups # finally retest it all with tokenize gpl2plus_with_cpex = LicenseWithExceptionSymbol(license_symbol=gpl2plus, exception_symbol=cpex) gpl2plus_with_someplus = LicenseWithExceptionSymbol(license_symbol=gpl2plus, exception_symbol=mitthing_with_else) mit_with_mitthing_with_else = LicenseWithExceptionSymbol(license_symbol=mit, exception_symbol=mitthing_with_else) expected = [ (gpl2plus_with_cpex, 'GPL-2.0 or later with classpath Exception', 1), (TOKEN_AND, 'and', 43), (mit, 'mit', 47), (TOKEN_AND, 'and', 51), (mit_with_mitthing_with_else, 'mit with mitthing with ELSE+', 55), (TOKEN_OR, 'or', 84), (lgpl, 'LGPL 2.1', 87), (TOKEN_AND, 'and', 96), (gpl2plus_with_cpex, 'GPL-2.0 or LATER with Classpath Exception', 100), (TOKEN_AND, 'and', 142), (mitplus, 'mit or later', 146), (TOKEN_OR, 'or', 159), (lgpl, 'LGPL 2.1', 162), (TOKEN_OR, 'or', 171), (mit, 'mit', 174), (TOKEN_OR, 'or', 178), (gpl2plus_with_someplus, 'GPL-2.0 or LATER with mitthing with ELSE+', 181), (TOKEN_AND, 'and', 223), (lgpl, 'lgpl 2.1', 227), (TOKEN_OR, 'or', 236), (gpl2, 'gpl-2.0', 239), ] assert list(licensing.tokenize(expr)) == expected class LicensingExpression(TestCase): def test_is_equivalent_with_same_Licensing(self): licensing = Licensing() parsed1 = licensing.parse('gpl-2.0 AND zlib') parsed2 = licensing.parse('gpl-2.0 AND zlib AND zlib') assert licensing.is_equivalent(parsed1, parsed2) assert Licensing().is_equivalent(parsed1, parsed2) def test_is_equivalent_with_same_Licensing2(self): licensing = Licensing() parsed1 = licensing.parse('(gpl-2.0 AND zlib) or lgpl') parsed2 = licensing.parse('lgpl or (gpl-2.0 AND zlib)') assert licensing.is_equivalent(parsed1, parsed2) assert Licensing().is_equivalent(parsed1, parsed2) def test_is_equivalent_with_different_Licensing_and_compound_expression(self): licensing1 = Licensing() licensing2 = Licensing() parsed1 = licensing1.parse('gpl-2.0 AND zlib') parsed2 = licensing2.parse('gpl-2.0 AND zlib AND zlib') assert Licensing().is_equivalent(parsed1, parsed2) assert licensing1.is_equivalent(parsed1, parsed2) assert licensing2.is_equivalent(parsed1, parsed2) def test_is_equivalent_with_different_Licensing_and_compound_expression2(self): licensing1 = Licensing() licensing2 = Licensing() parsed1 = licensing1.parse('gpl-2.0 AND zlib') parsed2 = licensing2.parse('zlib and gpl-2.0') assert Licensing().is_equivalent(parsed1, parsed2) assert licensing1.is_equivalent(parsed1, parsed2) assert licensing2.is_equivalent(parsed1, parsed2) def test_is_equivalent_with_different_Licensing_and_simple_expression(self): licensing1 = Licensing() licensing2 = Licensing() parsed1 = licensing1.parse('gpl-2.0') parsed2 = licensing2.parse('gpl-2.0') assert Licensing().is_equivalent(parsed1, parsed2) assert licensing1.is_equivalent(parsed1, parsed2) assert licensing2.is_equivalent(parsed1, parsed2) def test_is_equivalent_with_symbols_and_complex_expression(self): licensing_no_sym = Licensing() licensing1 = Licensing([ 'GPL-2.0 or LATER', 'classpath Exception', 'agpl+', 'mit', 'LGPL 2.1', ]) licensing2 = Licensing([ 'GPL-2.0 or LATER', 'classpath Exception', 'agpl+', 'mit', 'LGPL 2.1', ]) parsed1 = licensing1.parse(' ((LGPL 2.1 or mit) and GPL-2.0 or LATER with classpath Exception) and agpl+') parsed2 = licensing2.parse(' agpl+ and (GPL-2.0 or LATER with classpath Exception and (mit or LGPL 2.1))') assert licensing1.is_equivalent(parsed1, parsed2) assert licensing2.is_equivalent(parsed1, parsed2) assert licensing_no_sym.is_equivalent(parsed1, parsed2) parsed3 = licensing1.parse(' ((LGPL 2.1 or mit) OR GPL-2.0 or LATER with classpath Exception) and agpl+') assert not licensing1.is_equivalent(parsed1, parsed3) assert not licensing2.is_equivalent(parsed1, parsed3) assert not licensing_no_sym.is_equivalent(parsed1, parsed3) def test_all_symbol_classes_can_compare_and_sort(self): l1 = LicenseSymbol('a') l2 = LicenseSymbol('b') lx = LicenseWithExceptionSymbol(l1, l2) lx2 = LicenseWithExceptionSymbol(l1, l2) assert not (lx < lx2) assert not (lx2 < lx) assert lx2 == lx assert not (lx2 != lx) assert l1 < l2 assert l2 > l1 assert not (l2 == l1) assert l2 != l1 class SymLike(object): def __init__(self, key, is_exception=False): self.key = key self.is_exception = is_exception l3 = LicenseSymbolLike(SymLike('b')) lx3 = LicenseWithExceptionSymbol(l1, l3) assert not (lx < lx3) assert not (lx3 < lx) assert lx3 == lx assert hash(lx3) == hash(lx) assert not (lx3 != lx) assert l2 == l3 assert hash(l2) == hash(l3) l4 = LicenseSymbolLike(SymLike('c')) expected = [l1, lx, lx2, lx3, l3, l2, l4] assert sorted([l4, l3, l2, l1, lx , lx2, lx3]) == expected class MockLicensesTest(TestCase): def test_licensing_can_use_mocklicense_tuple(self): MockLicense = namedtuple('MockLicense', 'key aliases is_exception') licenses = [ MockLicense('gpl-2.0', ['GPL-2.0'], False), MockLicense('classpath-2.0', ['Classpath-Exception-2.0'], True), MockLicense('gpl-2.0-plus', ['GPL-2.0-or-later', 'GPL-2.0 or-later'], False), MockLicense('lgpl-2.1-plus', ['LGPL-2.1-or-later'], False), ] licensing = Licensing(licenses) ex1 = '(GPL-2.0-or-later with Classpath-Exception-2.0 or GPL-2.0 or-later) and LGPL-2.1-or-later' expression1 = licensing.parse(ex1, validate=False, strict=False) assert ['gpl-2.0-plus', 'classpath-2.0', 'lgpl-2.1-plus'] == licensing.license_keys(expression1) ex2 = 'LGPL-2.1-or-later and (GPL-2.0-or-later oR GPL-2.0-or-later with Classpath-Exception-2.0)' expression2 = licensing.parse(ex2, validate=True, strict=False) ex3 = 'LGPL-2.1-or-later and (GPL-2.0-or-later oR GPL-2.0-or-later)' expression3 = licensing.parse(ex3, validate=True, strict=False) self.assertTrue(licensing.is_equivalent(expression1, expression2)) self.assertTrue(licensing.is_equivalent(expression2, expression1)) self.assertFalse(licensing.is_equivalent(expression1, expression3)) self.assertFalse(licensing.is_equivalent(expression2, expression3)) def test_and_and_or_is_invalid(self): expression = 'gpl-2.0 with classpath and and or gpl-2.0-plus' licensing = Licensing() try: licensing.parse(expression) self.fail('Exception not raised') except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 27, 'token_string': 'and', 'token_type': TOKEN_AND} assert _parse_error_as_dict(pe) == expected def test_or_or_is_invalid(self): expression = 'gpl-2.0 with classpath or or or or gpl-2.0-plus' licensing = Licensing() try: licensing.parse(expression) except ParseError as pe: expected = { 'error_code': PARSE_INVALID_OPERATOR_SEQUENCE, 'position': 26, 'token_string': 'or', 'token_type': TOKEN_OR} assert _parse_error_as_dict(pe) == expected def test_tokenize_or_or(self): expression = 'gpl-2.0 with classpath or or or gpl-2.0-plus' licensing = Licensing() results = list(licensing.tokenize(expression)) expected = [ (LicenseWithExceptionSymbol( license_symbol=LicenseSymbol(u'gpl-2.0'), exception_symbol=LicenseSymbol(u'classpath')), 'gpl-2.0 with classpath', 0), (2, 'or', 23), (2, 'or', 26), (2, 'or', 29), (LicenseSymbol(u'gpl-2.0-plus'), 'gpl-2.0-plus', 32) ] assert results == expected class LicensingValidateTest(TestCase): licensing = Licensing( [ LicenseSymbol(key='GPL-2.0-or-later', is_exception=False), LicenseSymbol(key='MIT', is_exception=False), LicenseSymbol(key='Apache-2.0', is_exception=False), LicenseSymbol(key='WxWindows-exception-3.1', is_exception=True), ] ) def test_validate_simple(self): result = self.licensing.validate('GPL-2.0-or-later AND MIT') assert result.original_expression == 'GPL-2.0-or-later AND MIT' assert result.normalized_expression == 'GPL-2.0-or-later AND MIT' assert result.errors == [] assert result.invalid_symbols == [] def test_validation_invalid_license_key(self): result = self.licensing.validate('cool-license') assert result.original_expression == 'cool-license' assert not result.normalized_expression assert result.errors == ['Unknown license key(s): cool-license'] assert result.invalid_symbols == ['cool-license'] def test_validate_exception(self): result = self.licensing.validate('GPL-2.0-or-later WITH WxWindows-exception-3.1') assert result.original_expression == 'GPL-2.0-or-later WITH WxWindows-exception-3.1' assert result.normalized_expression == 'GPL-2.0-or-later WITH WxWindows-exception-3.1' assert result.errors == [] assert result.invalid_symbols == [] def test_validation_exception_with_choice(self): result = self.licensing.validate('GPL-2.0-or-later WITH WxWindows-exception-3.1 OR MIT') assert result.original_expression == 'GPL-2.0-or-later WITH WxWindows-exception-3.1 OR MIT' assert result.normalized_expression == 'GPL-2.0-or-later WITH WxWindows-exception-3.1 OR MIT' assert result.errors == [] assert result.invalid_symbols == [] def test_validation_exception_as_regular_key(self): result = self.licensing.validate('GPL-2.0-or-later AND WxWindows-exception-3.1') assert result.original_expression == 'GPL-2.0-or-later AND WxWindows-exception-3.1' assert not result.normalized_expression assert result.errors == ['A license exception symbol can only be used as an exception in a "WITH exception" statement. for token: "WxWindows-exception-3.1" at position: 21'] assert result.invalid_symbols == ['WxWindows-exception-3.1'] def test_validation_bad_syntax(self): result = self.licensing.validate('Apache-2.0 + MIT') assert result.original_expression == 'Apache-2.0 + MIT' assert not result.normalized_expression assert result.errors == ['Invalid symbols sequence such as (A B) for token: "+" at position: 11'] assert result.invalid_symbols == ['+'] def test_validation_invalid_license_exception(self): result = self.licensing.validate('Apache-2.0 WITH MIT') assert result.original_expression == 'Apache-2.0 WITH MIT' assert not result.normalized_expression assert result.errors == ["A plain license symbol cannot be used as an exception in a \"WITH symbol\" statement. for token: \"MIT\" at position: 16"] assert result.invalid_symbols == ['MIT'] def test_validation_invalid_license_exception_strict_false(self): result = self.licensing.validate('Apache-2.0 WITH MIT', strict=False) assert result.original_expression == 'Apache-2.0 WITH MIT' assert result.normalized_expression == 'Apache-2.0 WITH MIT' assert result.errors == [] assert result.invalid_symbols == [] class UtilTest(TestCase): test_data_dir = join(dirname(__file__), 'data') def test_build_licensing(self): test_license_index_location = join(self.test_data_dir, 'test_license_key_index.json') with open(test_license_index_location) as f: license_info = json.load(f) lics = [ { 'key': l.get('license_key', ''), 'is_exception': l.get('is_exception', ''), } for l in license_info if l.get('spdx_license_key') ] syms = [LicenseSymbol(**l) for l in lics] expected = Licensing(syms) test_license_index = get_license_index(license_index_location=test_license_index_location) result = build_licensing(test_license_index) assert result.known_symbols == expected.known_symbols assert result.known_symbols_lowercase == expected.known_symbols_lowercase # Ensure deprecated licenses are not loaded assert 'aladdin-md5' not in result.known_symbols assert 'aladdin-md5' not in result.known_symbols_lowercase def test_build_spdx_licensing(self): test_license_index_location = join(self.test_data_dir, 'test_license_key_index.json') with open(test_license_index_location) as f: license_info = json.load(f) lics = [ { 'key': l.get('spdx_license_key', ''), 'aliases': l.get('other_spdx_license_keys', ''), 'is_exception': l.get('is_exception', ''), } for l in license_info if l.get('spdx_license_key') ] syms = [LicenseSymbol(**l) for l in lics] expected = Licensing(syms) test_license_index = get_license_index(license_index_location=test_license_index_location) result = build_spdx_licensing(test_license_index) assert result.known_symbols == expected.known_symbols assert result.known_symbols_lowercase == expected.known_symbols_lowercase # Ensure deprecated licenses are not loaded assert 'aladdin-md5' not in result.known_symbols assert 'aladdin-md5' not in result.known_symbols_lowercase def test_get_license_key_info(self): test_license_index_location = join(self.test_data_dir, 'test_license_key_index.json') with open(test_license_index_location) as f: expected = json.load(f) result = get_license_index(test_license_index_location) assert result == expected def test_get_license_key_info_vendored(self): curr_dir = dirname(abspath(__file__)) parent_dir = pathlib.Path(curr_dir).parent vendored_license_key_index_location = parent_dir.joinpath( 'src', 'license_expression', 'data', 'scancode-licensedb-index.json' ) with open(vendored_license_key_index_location) as f: expected = json.load(f) result = get_license_index() assert result == expected license-expression-21.6.14/tox.ini000066400000000000000000000002401406172227500170210ustar00rootroot00000000000000[tox] envlist = py36,py37,py38,py39 [testenv] # install pytest in the virtualenv where commands will be executed deps = pytest commands = pytest -vvs