diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e9fd7cc39f..1ef7a2bff5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,14 @@ Changelog v33.0.0 (unreleased) -------------------- +- Upgrade ScanCode-toolkit to latest v32.0.0 + Warning: This upgrade requires schema and data migrations (both included). + It is recommended to reset and re-run the pipelines to benefit from the latest + ScanCode detection improvements. + Refer to https://github.com/nexB/scancode-toolkit/blob/develop/CHANGELOG.rst#v3200-next-roadmap + for the full list of changes. + https://github.com/nexB/scancode.io/issues/569 + - Add a new ``deploy_to_develop`` pipeline specialized in creating relations between the development source code and binaries or deployed code. This pipeline is expecting 2 archive files with "from-" and "to-" filename prefixes diff --git a/docs/custom-pipelines.rst b/docs/custom-pipelines.rst index 5e9491ac5f..15cd871b6e 100644 --- a/docs/custom-pipelines.rst +++ b/docs/custom-pipelines.rst @@ -141,20 +141,20 @@ the file's directory in the :ref:`scancodeio_settings_pipelines_dirs`. def report_licenses_with_resources(self): """ - Retrieves codebase resources filtered by license categories, - Generates a licenses report file from a template. + Retrieves codebase resources and generates a licenses report file using + a Jinja template. """ - categories = ["Commercial", "Copyleft"] - resources = self.project.codebaseresources.licenses_categories(categories) + resources = self.project.codebaseresources.has_license_detections() - resources_by_licenses = defaultdict(list) + resources_by_matched_text = defaultdict(list) for resource in resources: - for license_data in resource.licenses: - matched_text = license_data.get("matched_text") - resources_by_licenses[matched_text].append(resource.path) + for detection_data in resource.license_detections: + for match in detection_data.get("matches", []): + matched_text = match.get("matched_text") + resources_by_matched_text[matched_text].append(resource.path) template = Template(self.report_template, lstrip_blocks=True, trim_blocks=True) - report_stream = template.stream(resources=resources_by_licenses) + report_stream = template.stream(resources=resources_by_matched_text) report_file = self.project.get_output_file_path("license-report", "txt") report_stream.dump(str(report_file)) diff --git a/docs/output-files.rst b/docs/output-files.rst index 9e28524a0b..828f6d88e4 100644 --- a/docs/output-files.rst +++ b/docs/output-files.rst @@ -183,8 +183,6 @@ similar to the following: "license_expression": "mit", "declared_license": "MIT", "notice_text": "", - "manifest_path": "", - "contains_source_code": null, "missing_resources": [ "/lib/libc.musl-x86_64.so.1" ], diff --git a/scancodeio/__init__.py b/scancodeio/__init__.py index 9154a6df45..9bb4166670 100644 --- a/scancodeio/__init__.py +++ b/scancodeio/__init__.py @@ -25,7 +25,7 @@ import warnings from pathlib import Path -__version__ = "32.2.0" +__version__ = "33.0.0-dev" SCAN_NOTICE = Path(__file__).resolve().parent.joinpath("scan.NOTICE").read_text() diff --git a/scanpipe/api/serializers.py b/scanpipe/api/serializers.py index f8c9e359f0..5dd13b1acf 100644 --- a/scanpipe/api/serializers.py +++ b/scanpipe/api/serializers.py @@ -251,8 +251,11 @@ class Meta: "is_archive", "is_media", "is_key_file", - "licenses", - "license_expressions", + "detected_license_expression", + "detected_license_expression_spdx", + "license_detections", + "license_clues", + "percentage_of_license_text", "compliance_alert", "copyrights", "holders", @@ -297,14 +300,18 @@ class Meta: "sha256", "sha512", "copyright", - "license_expression", - "declared_license", + "holder", + "declared_license_expression", + "declared_license_expression_spdx", + "license_detections", + "other_license_expression", + "other_license_expression_spdx", + "other_license_detections", + "extracted_license_statement", "notice_text", "source_packages", "extra_data", "package_uid", - "manifest_path", - "contains_source_code", "datasource_id", "file_references", "missing_resources", diff --git a/scanpipe/filters.py b/scanpipe/filters.py index 91ce82f31c..7d49f4fe16 100644 --- a/scanpipe/filters.py +++ b/scanpipe/filters.py @@ -322,6 +322,7 @@ class ResourceFilterSet(FilterSetUtilsMixin, django_filters.FilterSet): "type", "size", "name", + "detected_license_expression", "extension", "programming_language", "mime_type", @@ -331,16 +332,8 @@ class ResourceFilterSet(FilterSetUtilsMixin, django_filters.FilterSet): "related_from__from_resource__path", ], ) - license_key = JSONContainsFilter( - label="License key", - field_name="licenses", - ) - license_category = JSONContainsFilter( - label="License category", - field_name="licenses", - ) compliance_alert = django_filters.ChoiceFilter( - choices=CodebaseResource.Compliance.choices + [("EMPTY", "EMPTY")] + choices=CodebaseResource.Compliance.choices + [("_EMPTY_", "EMPTY")] ) in_package = InPackageFilter(label="In a Package") status = StatusFilter(empty_label="All") @@ -373,9 +366,11 @@ class Meta: "copyrights", "holders", "authors", - "licenses", - "license_category", - "license_expressions", + "detected_license_expression", + "detected_license_expression_spdx", + "license_detections", + "license_clues", + "percentage_of_license_text", "emails", "urls", "in_package", @@ -414,7 +409,8 @@ class PackageFilterSet(FilterSetUtilsMixin, django_filters.FilterSet): sort = django_filters.OrderingFilter( label="Sort", fields=[ - "license_expression", + "declared_license_expression", + "other_license_expression", "copyright", "primary_language", ], @@ -444,11 +440,10 @@ class Meta: "code_view_url", "vcs_url", "type", - "license_expression", - "declared_license", + "declared_license_expression", + "other_license_expression", + "extracted_license_statement", "copyright", - "manifest_path", - "contains_source_code", ] diff --git a/scanpipe/migrations/0030_scancode_toolkit_v32_model_updates.py b/scanpipe/migrations/0030_scancode_toolkit_v32_model_updates.py new file mode 100644 index 0000000000..4847787a11 --- /dev/null +++ b/scanpipe/migrations/0030_scancode_toolkit_v32_model_updates.py @@ -0,0 +1,121 @@ +# Generated by Django 4.2 on 2023-05-05 06:52 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("scanpipe", "0029_codebaseresource_scanpipe_co_type_ea1dd7_idx_and_more"), + ] + + operations = [ + migrations.RemoveIndex( + model_name="discoveredpackage", + name="scanpipe_di_license_e8ce32_idx", + ), + migrations.RenameField( + model_name="discoveredpackage", + old_name="license_expression", + new_name="declared_license_expression", + ), + migrations.AlterField( + model_name="discoveredpackage", + name="declared_license_expression", + field=models.TextField( + blank=True, + help_text="The license expression for this package typically derived from its extracted_license_statement or from some other type-specific routine or convention.", + ), + ), + migrations.RenameField( + model_name="discoveredpackage", + old_name="declared_license", + new_name="extracted_license_statement", + ), + migrations.AlterField( + model_name="discoveredpackage", + name="extracted_license_statement", + field=models.TextField( + blank=True, + help_text="The license statement mention, tag or text as found in a package manifest and extracted. This can be a string, a list or dict of strings possibly nested, as found originally in the manifest.", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="declared_license_expression_spdx", + field=models.TextField( + blank=True, + help_text="The SPDX license expression for this package converted from its declared_license_expression.", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="holder", + field=models.TextField( + blank=True, + help_text="Holders for this package. Typically one per line.", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="license_detections", + field=models.JSONField( + blank=True, + default=list, + help_text="A list of LicenseDetection mappings typically derived from its extracted_license_statement or from some other type-specific routine or convention.", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="other_license_detections", + field=models.JSONField( + blank=True, + default=list, + help_text="A list of LicenseDetection mappings which is different from the declared_license_expression, (i.e. not the primary license) These are detections for the detection for the license expressions in other_license_expression. ", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="other_license_expression", + field=models.TextField( + blank=True, + help_text="The license expression for this package which is different from the declared_license_expression, (i.e. not the primary license) routine or convention.", + ), + ), + migrations.AddField( + model_name="discoveredpackage", + name="other_license_expression_spdx", + field=models.TextField( + blank=True, + help_text="The other SPDX license expression for this package converted from its other_license_expression.", + ), + ), + migrations.AddField( + model_name="codebaseresource", + name="detected_license_expression", + field=models.TextField(blank=True, help_text="The license expression summarizing the license info for this resource, combined from all the license detections"), + ), + migrations.AddField( + model_name="codebaseresource", + name="detected_license_expression_spdx", + field=models.TextField(blank=True, help_text="The detected license expression for this file, with SPDX license keys"), + ), + migrations.AddField( + model_name="codebaseresource", + name="license_detections", + field=models.JSONField( + blank=True, default=list, help_text="List of license detection details." + ), + ), + migrations.AddField( + model_name="codebaseresource", + name="license_clues", + field=models.JSONField( + blank=True, default=list, help_text="List of license matches that are not proper detections and potentially just clues to licenses or likely false positives. Those are not included in computing the detected license expression for the resource." + ), + ), + migrations.AddField( + model_name="codebaseresource", + name="percentage_of_license_text", + field=models.FloatField(blank=True, help_text="Percentage of file words detected as license text or notice.", null=True), + ), + ] diff --git a/scanpipe/migrations/0031_scancode_toolkit_v32_data_updates.py b/scanpipe/migrations/0031_scancode_toolkit_v32_data_updates.py new file mode 100644 index 0000000000..072e16f7c9 --- /dev/null +++ b/scanpipe/migrations/0031_scancode_toolkit_v32_data_updates.py @@ -0,0 +1,209 @@ +# Generated by Django 4.2 on 2023-05-05 10:11 + +from django.db import migrations +from django.db.models import Q +from django.conf import settings + + +def compute_package_declared_license_expression_spdx(apps, schema_editor): + """ + Compute DiscoveredPackage `declared_license_expression_spdx`, when missing, + from `declared_license_expression`, when available. + """ + from licensedcode.cache import build_spdx_license_expression + + if settings.IS_TESTS: + return + + DiscoveredPackage = apps.get_model("scanpipe", "DiscoveredPackage") + queryset = DiscoveredPackage.objects.filter( + ~Q(declared_license_expression="") & Q(declared_license_expression_spdx="") + ).only("declared_license_expression") + + object_count = queryset.count() + print(f"\nCompute declared_license_expression_spdx for {object_count:,} packages.") + + chunk_size = 2000 + iterator = queryset.iterator(chunk_size=chunk_size) + + unsaved_objects = [] + for index, package in enumerate(iterator, start=1): + if spdx := build_spdx_license_expression(package.declared_license_expression): + package.declared_license_expression_spdx = spdx + unsaved_objects.append(package) + + if not (index % chunk_size) and unsaved_objects: + print(f" {index:,} / {object_count:,} computed") + + print("Updating DB objects...") + DiscoveredPackage.objects.bulk_update( + objs=unsaved_objects, + fields=["declared_license_expression_spdx"], + batch_size=1000, + ) + + +def compute_resource_detected_license_expression(apps, schema_editor): + """ + Compute CodebaseResource `detected_license_expression` and + `detected_license_expression_spdx` from old `license_expressions` field. + """ + from license_expression import combine_expressions + from licensedcode.cache import build_spdx_license_expression + + if settings.IS_TESTS: + return + + CodebaseResource = apps.get_model("scanpipe", "CodebaseResource") + ProjectError = apps.get_model("scanpipe", "ProjectError") + queryset = CodebaseResource.objects.filter(~Q(license_expressions=[])).only( + "license_expressions" + ) + + object_count = queryset.count() + print(f"\nCompute detected_license_expression for {object_count:,} resources.") + + chunk_size = 2000 + iterator = queryset.iterator(chunk_size=chunk_size) + + unsaved_objects = [] + for index, resource in enumerate(iterator, start=1): + combined_expression = str(combine_expressions(resource.license_expressions)) + # gpl-2.0 OR broadcom-linking-unmodified OR proprietary-license + # build_spdx_license_expression("broadcom-linking-unmodified") + # AttributeError: 'LicenseSymbol' object has no attribute 'wrapped' + try: + license_expression_spdx = build_spdx_license_expression(combined_expression) + except AttributeError as error: + ProjectError.objects.create( + project=resource.project, + message=str(error), + model=resource.__class__, + details={"combined_expression": combined_expression} + ) + continue + + resource.detected_license_expression = combined_expression + resource.detected_license_expression_spdx = license_expression_spdx + unsaved_objects.append(resource) + + if not (index % chunk_size) and unsaved_objects: + print(f" {index:,} / {object_count:,} computed") + + print("Updating DB objects...") + CodebaseResource.objects.bulk_update( + objs=unsaved_objects, + fields=[ + "detected_license_expression", + "detected_license_expression_spdx", + ], + batch_size=1000, + ) + + +def _convert_matches_to_detections(license_matches): + """ + Return a list of scancode v32 LicenseDetection mappings from provided + ``license_matches``: a list of the scancode v31 LicenseMatch mappings. + """ + from license_expression import combine_expressions + from licensedcode.detection import get_uuid_on_content + from commoncode.text import python_safe_name + + match_attributes = ["score", "start_line", "end_line", "matched_text"] + rule_attributes = [ + "matched_length", + "match_coverage", + "matcher", + "rule_relevance", + ] + license_detection = {} + detection_matches = [] + + for match in license_matches: + detection_match = {} + + for attribute in match_attributes: + detection_match[attribute] = match[attribute] + for attribute in rule_attributes: + detection_match[attribute] = match["matched_rule"][attribute] + + detection_match["rule_identifier"] = match["matched_rule"]["identifier"] + detection_match["license_expression"] = match["matched_rule"][ + "license_expression" + ] + detection_match["rule_url"] = None + detection_matches.append(detection_match) + + license_expressions = [match["license_expression"] for match in detection_matches] + hashable_details = tuple( + [ + (match["score"], match["rule_identifier"], match["matched_text"]) + for match in detection_matches + ] + ) + uuid = get_uuid_on_content(hashable_details) + + license_detection["matches"] = detection_matches + license_detection["license_expression"] = str( + combine_expressions(license_expressions) + ) + license_detection["identifier"] = "{}-{}".format( + python_safe_name(license_detection["license_expression"]), uuid + ) + + return [license_detection] + + +def compute_resource_license_detections(apps, schema_editor): + """Compute CodebaseResource `license_detections` from old `licenses` field.""" + if settings.IS_TESTS: + return + + CodebaseResource = apps.get_model("scanpipe", "CodebaseResource") + queryset = CodebaseResource.objects.filter(~Q(licenses=[])).only("licenses") + + object_count = queryset.count() + print(f"\nCompute license_detections for {object_count:,} resources.") + + chunk_size = 2000 + iterator = queryset.iterator(chunk_size=chunk_size) + + unsaved_objects = [] + for index, resource in enumerate(iterator, start=1): + detections = _convert_matches_to_detections(resource.licenses) + resource.license_detections = detections + unsaved_objects.append(resource) + + if not (index % chunk_size): + print(f" {index:,} / {object_count:,} computed") + + print("Updating DB objects...") + # Keeping the batch_size small as the `license_detections` content is often large, + # and it may raise `django.db.utils.OperationalError: out of memory` + CodebaseResource.objects.bulk_update( + objs=unsaved_objects, + fields=["license_detections"], + batch_size=50, + ) + + +class Migration(migrations.Migration): + dependencies = [ + ("scanpipe", "0030_scancode_toolkit_v32_model_updates"), + ] + + operations = [ + migrations.RunPython( + compute_package_declared_license_expression_spdx, + reverse_code=migrations.RunPython.noop, + ), + migrations.RunPython( + compute_resource_detected_license_expression, + reverse_code=migrations.RunPython.noop, + ), + migrations.RunPython( + compute_resource_license_detections, + reverse_code=migrations.RunPython.noop, + ), + ] diff --git a/scanpipe/migrations/0032_scancode_toolkit_v32_post_data_migration.py b/scanpipe/migrations/0032_scancode_toolkit_v32_post_data_migration.py new file mode 100644 index 0000000000..ed8ce8f858 --- /dev/null +++ b/scanpipe/migrations/0032_scancode_toolkit_v32_post_data_migration.py @@ -0,0 +1,95 @@ +# Generated by Django 4.2 on 2023-05-08 09:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("scanpipe", "0031_scancode_toolkit_v32_data_updates"), + ] + + operations = [ + migrations.RemoveField( + model_name="discoveredpackage", + name="contains_source_code", + ), + migrations.RemoveField( + model_name="discoveredpackage", + name="manifest_path", + ), + migrations.RemoveField( + model_name="codebaseresource", + name="license_expressions", + ), + migrations.RemoveField( + model_name="codebaseresource", + name="licenses", + ), + migrations.AddIndex( + model_name="discoveredpackage", + index=models.Index( + fields=["declared_license_expression"], + name="scanpipe_di_declare_4b8499_idx", + ), + ), + migrations.AddIndex( + model_name="discoveredpackage", + index=models.Index( + fields=["other_license_expression"], + name="scanpipe_di_other_l_1f1616_idx", + ), + ), + migrations.AddIndex( + model_name="codebaseresource", + index=models.Index( + fields=["detected_license_expression"], + name="scanpipe_co_detecte_f3f97d_idx", + ), + ), + # Extra fields alterations and index additions + migrations.AlterField( + model_name="discoveredpackage", + name="package_uid", + field=models.CharField( + blank=True, + help_text="Unique identifier for this package.", + max_length=1024, + ), + ), + migrations.AlterField( + model_name="project", + name="created_date", + field=models.DateTimeField( + auto_now_add=True, help_text="Creation date for this project." + ), + ), + migrations.AlterField( + model_name="project", + name="name", + field=models.CharField( + help_text="Name for this project.", max_length=100, unique=True + ), + ), + migrations.AddIndex( + model_name="discoveredpackage", + index=models.Index( + fields=["package_uid"], name="scanpipe_di_package_379c99_idx" + ), + ), + migrations.AddIndex( + model_name="project", + index=models.Index( + fields=["-created_date"], name="scanpipe_pr_created_258a96_idx" + ), + ), + migrations.AddIndex( + model_name="project", + index=models.Index( + fields=["is_archived"], name="scanpipe_pr_is_arch_6af64f_idx" + ), + ), + migrations.AddIndex( + model_name="project", + index=models.Index(fields=["name"], name="scanpipe_pr_name_c81038_idx"), + ), + ] diff --git a/scanpipe/models.py b/scanpipe/models.py index cb7f9a8a6c..e0fbd5e26c 100644 --- a/scanpipe/models.py +++ b/scanpipe/models.py @@ -68,6 +68,7 @@ from cyclonedx.model import component as cyclonedx_component from formattedcode.output_cyclonedx import CycloneDxExternalRef from licensedcode.cache import build_spdx_license_expression +from licensedcode.cache import get_licensing from packageurl import PackageURL from packageurl import normalize_qualifiers from packageurl.contrib.django.models import PackageURLMixin @@ -454,12 +455,10 @@ class Project(UUIDPKModel, ExtraDataFieldMixin, models.Model): created_date = models.DateTimeField( auto_now_add=True, - db_index=True, help_text=_("Creation date for this project."), ) name = models.CharField( unique=True, - db_index=True, max_length=100, help_text=_("Name for this project."), ) @@ -484,6 +483,11 @@ class Project(UUIDPKModel, ExtraDataFieldMixin, models.Model): class Meta: ordering = ["-created_date"] + indexes = [ + models.Index(fields=["-created_date"]), + models.Index(fields=["is_archived"]), + models.Index(fields=["name"]), + ] def __str__(self): return self.name @@ -969,10 +973,9 @@ def less_common(self, field_name, limit=most_common_limit): `field_name` starting at the `limit`. """ json_fields_mapping = { - "license_key": ("licenses", "key"), - "license_category": ("licenses", "category"), "copyrights": ("copyrights", "copyright"), "holders": ("holders", "holder"), + "authors": ("authors", "author"), } if field_name in json_fields_mapping: @@ -1422,24 +1425,17 @@ def symlinks(self): def without_symlinks(self): return self.filter(~Q(type=self.model.Type.SYMLINK)) - def has_licenses(self): - return self.filter(~Q(licenses=[])) + def has_license_detections(self): + return self.filter(~Q(license_detections=[])) - def has_no_licenses(self): - return self.filter(licenses=[]) + def has_no_license_detections(self): + return self.filter(license_detections=[]) def has_package_data(self): return self.filter(~Q(package_data=[])) - def licenses_categories(self, categories): - return self.json_list_contains( - field_name="licenses", - key="category", - values=categories, - ) - def unknown_license(self): - return self.json_field_contains("license_expressions", "unknown") + return self.filter(detected_license_expression__icontains="unknown") def from_codebase(self): """Resources in from/ directory""" @@ -1471,6 +1467,38 @@ def has_value(self, field_name): class ScanFieldsModelMixin(models.Model): """Fields returned by the ScanCode-toolkit scans.""" + detected_license_expression = models.TextField( + blank=True, + help_text=_( + "The license expression summarizing the license info for this resource, " + "combined from all the license detections" + ), + ) + detected_license_expression_spdx = models.TextField( + blank=True, + help_text=_( + "The detected license expression for this file, with SPDX license keys" + ), + ) + license_detections = models.JSONField( + blank=True, + default=list, + help_text=_("List of license detection details."), + ) + license_clues = models.JSONField( + blank=True, + default=list, + help_text=_( + "List of license matches that are not proper detections and potentially " + "just clues to licenses or likely false positives. Those are not included " + "in computing the detected license expression for the resource." + ), + ) + percentage_of_license_text = models.FloatField( + blank=True, + null=True, + help_text=_("Percentage of file words detected as license text or notice."), + ) copyrights = models.JSONField( blank=True, default=list, @@ -1490,16 +1518,6 @@ class ScanFieldsModelMixin(models.Model): default=list, help_text=_("List of detected authors (and related detection details)."), ) - licenses = models.JSONField( - blank=True, - default=list, - help_text=_("List of license detection details."), - ) - license_expressions = models.JSONField( - blank=True, - default=list, - help_text=_("List of detected license expressions."), - ) emails = models.JSONField( blank=True, default=list, @@ -1557,7 +1575,7 @@ class CodebaseResource( A project Codebase Resources are records of its code files and directories. Each record is identified by its path under the project workspace. - These model fields should be kept in line with `scancode.resource.Resource`. + These model fields should be kept in line with `commoncode.resource.Resource`. """ path = models.CharField( @@ -1679,6 +1697,7 @@ class Meta: models.Index(fields=["mime_type"]), models.Index(fields=["tag"]), models.Index(fields=["sha1"]), + models.Index(fields=["detected_license_expression"]), models.Index(fields=["compliance_alert"]), models.Index(fields=["is_binary"]), models.Index(fields=["is_text"]), @@ -1697,39 +1716,34 @@ def __str__(self): @classmethod def from_db(cls, db, field_names, values): """ - Store the `licenses` field on creating this instance from the database value. + Store the `detected_license_expression` field on loading this instance from the + database value. The cached value is then used to detect changes on `save()`. """ new = super().from_db(db, field_names, values) - if "licenses" in field_names: - new._loaded_licenses = values[field_names.index("licenses")] + if "detected_license_expression" in field_names: + field_index = field_names.index("detected_license_expression") + new._loaded_license_expression = values[field_index] return new def save(self, codebase=None, *args, **kwargs): """ Save the current resource instance. - Injects policies—if the feature is enabled—when the `licenses` field value is - changed. + Injects policies, if the feature is enabled, when the + `detected_license_expression` field value is changed. `codebase` is not used in this context but required for compatibility with the commoncode.resource.Codebase class API. """ if scanpipe_app.policies_enabled: - loaded_licenses = getattr(self, "loaded_licenses", []) - if self.licenses != loaded_licenses: - self.inject_licenses_policy(scanpipe_app.license_policies_index) + loaded_license_expression = getattr(self, "_loaded_license_expression", []) + if self.detected_license_expression != loaded_license_expression: self.compliance_alert = self.compute_compliance_alert() super().save(*args, **kwargs) - def inject_licenses_policy(self, policies_index): - """Inject license policies from the `policies_index` into the licenses field.""" - for license_data in self.licenses: - key = license_data.get("key") - license_data["policy"] = policies_index.get(key, None) - @property def location_path(self): """Return the location of the resource as a Path instance.""" @@ -1759,34 +1773,33 @@ def is_symlink(self): def compute_compliance_alert(self): """Compute and return the compliance_alert value from the licenses policies.""" - if not self.licenses: + if not self.detected_license_expression: return "" - ok = self.Compliance.OK - error = self.Compliance.ERROR - warning = self.Compliance.WARNING - missing = self.Compliance.MISSING - alerts = [] - for license_data in self.licenses: - policy = license_data.get("policy") - if policy: - alerts.append(policy.get("compliance_alert") or ok) + policy_index = scanpipe_app.license_policies_index + + licensing = get_licensing() + parsed = licensing.parse(self.detected_license_expression, simple=True) + license_keys = licensing.license_keys(parsed) + + for license_key in license_keys: + if policy := policy_index.get(license_key): + alerts.append(policy.get("compliance_alert") or self.Compliance.OK) else: - alerts.append(missing) + alerts.append(self.Compliance.MISSING) - if error in alerts: - return error - elif warning in alerts: - return warning - elif missing in alerts: - return missing - return ok + compliance_ordered_by_severity = [ + self.Compliance.ERROR, + self.Compliance.WARNING, + self.Compliance.MISSING, + ] - @property - def unique_license_expressions(self): - """Return the sorted set of unique license_expressions.""" - return sorted(set(self.license_expressions)) + for compliance_severity in compliance_ordered_by_severity: + if compliance_severity in alerts: + return compliance_severity + + return self.Compliance.OK def parent_path(self): """Return the parent path for this CodebaseResource or None.""" @@ -1967,7 +1980,6 @@ def as_spdx(self): """Return this CodebaseResource as an SPDX Package entry.""" from scanpipe.pipes import spdx - spdx_license_keys = [license["spdx_license_key"] for license in self.licenses] copyrights = [copyright["copyright"] for copyright in self.copyrights] holders = [holder["holder"] for holder in self.holders] authors = [author["author"] for author in self.authors] @@ -1976,7 +1988,7 @@ def as_spdx(self): spdx_id=self.spdx_id, name=f"./{self.path}", checksums=[spdx.Checksum(algorithm="sha1", value=self.sha1)], - license_in_files=list(set(spdx_license_keys)), + license_concluded=self.detected_license_expression_spdx, copyright_text=", ".join(copyrights), contributors=list(set(holders + authors)), types=self.get_spdx_types(), @@ -2131,33 +2143,71 @@ class AbstractPackage(models.Model): blank=True, help_text=_("Copyright statements for this package. Typically one per line."), ) - license_expression = models.TextField( + holder = models.TextField( + blank=True, + help_text=_("Holders for this package. Typically one per line."), + ) + declared_license_expression = models.TextField( blank=True, help_text=_( - "The normalized license expression for this package as derived " - "from its declared license." + "The license expression for this package typically derived " + "from its extracted_license_statement or from some other type-specific " + "routine or convention." ), ) - declared_license = models.TextField( + declared_license_expression_spdx = models.TextField( blank=True, help_text=_( - "The declared license mention or tag or text as found in a " - "package manifest." + "The SPDX license expression for this package converted " + "from its declared_license_expression." ), ) - notice_text = models.TextField( + license_detections = models.JSONField( + default=list, blank=True, - help_text=_("A notice text for this package."), + help_text=_( + "A list of LicenseDetection mappings typically derived " + "from its extracted_license_statement or from some other type-specific " + "routine or convention." + ), ) - manifest_path = models.CharField( - max_length=1024, + other_license_expression = models.TextField( + blank=True, + help_text=_( + "The license expression for this package which is different from the " + "declared_license_expression, (i.e. not the primary license) " + "routine or convention." + ), + ) + other_license_expression_spdx = models.TextField( blank=True, help_text=_( - "A relative path to the manifest file if any, such as a " - "Maven .pom or a npm package.json." + "The other SPDX license expression for this package converted " + "from its other_license_expression." ), ) - contains_source_code = models.BooleanField(null=True, blank=True) + other_license_detections = models.JSONField( + default=list, + blank=True, + help_text=_( + "A list of LicenseDetection mappings which is different from the " + "declared_license_expression, (i.e. not the primary license) " + "These are detections for the detection for the license expressions " + "in other_license_expression. " + ), + ) + extracted_license_statement = models.TextField( + blank=True, + help_text=_( + "The license statement mention, tag or text as found in a " + "package manifest and extracted. This can be a string, a list or dict of " + "strings possibly nested, as found originally in the manifest." + ), + ) + notice_text = models.TextField( + blank=True, + help_text=_("A notice text for this package."), + ) datasource_id = models.CharField( max_length=64, blank=True, @@ -2214,7 +2264,6 @@ class DiscoveredPackage( package_uid = models.CharField( max_length=1024, blank=True, - db_index=True, help_text=_("Unique identifier for this package."), ) keywords = models.JSONField(default=list, blank=True) @@ -2229,8 +2278,10 @@ class Meta: models.Index(fields=["namespace"]), models.Index(fields=["name"]), models.Index(fields=["filename"]), + models.Index(fields=["package_uid"]), models.Index(fields=["primary_language"]), - models.Index(fields=["license_expression"]), + models.Index(fields=["declared_license_expression"]), + models.Index(fields=["other_license_expression"]), models.Index(fields=["size"]), models.Index(fields=["md5"]), models.Index(fields=["sha1"]), @@ -2335,10 +2386,33 @@ def clean_data(cls, data): def spdx_id(self): return f"SPDXRef-scancodeio-{self._meta.model_name}-{self.uuid}" - def get_license_expression_spdx_id(self): - """Return this package license expression using SPDX syntax and keys.""" - if self.license_expression: - return build_spdx_license_expression(self.license_expression) + def get_declared_license_expression(self): + """ + Return this package license expression. + + Use `declared_license_expression` when available or compute the expression + from `declared_license_expression_spdx`. + """ + from scanpipe.pipes.resolve import convert_spdx_expression + + if self.declared_license_expression: + return self.declared_license_expression + elif self.declared_license_expression_spdx: + return convert_spdx_expression(self.declared_license_expression_spdx) + return "" + + def get_declared_license_expression_spdx(self): + """ + Return this package license expression using SPDX keys. + + Use `declared_license_expression_spdx` when available or compute the expression + from `declared_license_expression`. + """ + if self.declared_license_expression_spdx: + return self.declared_license_expression_spdx + elif self.declared_license_expression: + return build_spdx_license_expression(self.declared_license_expression) + return "" def as_spdx(self): """Return this DiscoveredPackage as an SPDX Package entry.""" @@ -2361,13 +2435,12 @@ def as_spdx(self): ) ) - license_expression_spdx = self.get_license_expression_spdx_id() return spdx.Package( name=self.name or self.filename, spdx_id=self.spdx_id, download_location=self.download_url, - license_declared=license_expression_spdx, - license_concluded=license_expression_spdx, + license_declared=self.get_declared_license_expression_spdx(), + license_concluded=self.get_declared_license_expression_spdx(), copyright_text=self.copyright, version=self.version, homepage=self.homepage_url, @@ -2381,7 +2454,7 @@ def as_spdx(self): def as_cyclonedx(self): """Return this DiscoveredPackage as an CycloneDX Component entry.""" licenses = [] - if expression_spdx := self.get_license_expression_spdx_id(): + if expression_spdx := self.get_declared_license_expression_spdx(): licenses = [ cyclonedx_model.LicenseChoice(license_expression=expression_spdx), ] diff --git a/scanpipe/pipelines/scan_package.py b/scanpipe/pipelines/scan_package.py index 4c45514866..4823334148 100644 --- a/scanpipe/pipelines/scan_package.py +++ b/scanpipe/pipelines/scan_package.py @@ -58,7 +58,6 @@ def steps(cls): "--package", "--url", "--classify", - "--is-license-text", "--summary", ] diff --git a/scanpipe/pipes/flag.py b/scanpipe/pipes/flag.py index bb89433e54..1d9b655d90 100644 --- a/scanpipe/pipes/flag.py +++ b/scanpipe/pipes/flag.py @@ -123,7 +123,7 @@ def flag_ignored_paths(project, paths): def analyze_scanned_files(project): """Set the status for CodebaseResource to unknown or no license.""" scanned_files = project.codebaseresources.files().status(SCANNED) - scanned_files.has_no_licenses().update(status=NO_LICENSES) + scanned_files.has_no_license_detections().update(status=NO_LICENSES) scanned_files.unknown_license().update(status=UNKNOWN_LICENSE) diff --git a/scanpipe/pipes/output.py b/scanpipe/pipes/output.py index a5bdc462d8..689b9b1f40 100644 --- a/scanpipe/pipes/output.py +++ b/scanpipe/pipes/output.py @@ -41,7 +41,6 @@ from licensedcode.cache import build_spdx_license_expression from licensedcode.cache import get_licenses_by_spdx_key from licensedcode.cache import get_licensing -from packagedcode.utils import combine_expressions from scancode_config import __version__ as scancode_toolkit_version from scancodeio import SCAN_NOTICE @@ -402,9 +401,6 @@ def _adapt_value_for_xlsx(fieldname, value, maximum_length=32767, _adapt=True): max_description_lines = 5 value = "\n".join(value.splitlines(False)[:max_description_lines]) - if fieldname == "license_expressions": - value = combine_expressions(value) - # we only get this key in each dict of a list for some fields mapping_key = mappings_key_by_fieldname.get(fieldname) if mapping_key: @@ -448,7 +444,13 @@ def to_xlsx(project): exceed the limits of what can be stored in a cell. """ output_file = project.get_output_file_path("results", "xlsx") - exclude_fields = ["licenses", "extra_data", "declared_license"] + exclude_fields = [ + "extra_data", + "extracted_license_statement", + "license_detections", + "other_license_detections", + "license_clues", + ] if not scanpipe_app.policies_enabled: exclude_fields.append("compliance_alert") @@ -678,8 +680,8 @@ def to_attribution(project): license_symbols = [] for package in packages: - if package.license_expression: - parsed = licensing.parse(package.license_expression) + if package.declared_license_expression: + parsed = licensing.parse(package.declared_license_expression) package.expression_links = get_expression_as_attribution_links(parsed) # .decompose() is required for LicenseWithExceptionSymbol support for symbol in parsed.symbols: diff --git a/scanpipe/pipes/resolve.py b/scanpipe/pipes/resolve.py index 67b08e190f..7a97ecff43 100644 --- a/scanpipe/pipes/resolve.py +++ b/scanpipe/pipes/resolve.py @@ -27,9 +27,8 @@ from django.core.validators import EMPTY_VALUES from attributecode.model import About -from licensedcode.match_spdx_lid import get_spdx_expression from packagedcode import APPLICATION_PACKAGE_DATAFILE_HANDLERS -from packagedcode.licensing import get_normalized_expression +from packagedcode.licensing import get_license_detections_and_expression from packageurl import PackageURL from python_inspector.resolve_cli import resolver_api from scancode.api import get_package_data @@ -90,6 +89,9 @@ def resolve_about_packages(input_location): if about_resource := about_data.get("about_resource"): package_data["filename"] = list(about_resource.keys())[0] + if license_expression := about_data.get("license_expression"): + package_data["declared_license_expression"] = license_expression + for field_name, value in about_data.items(): if field_name.startswith("checksum_"): package_data[field_name.replace("checksum_", "")] = value @@ -98,6 +100,14 @@ def resolve_about_packages(input_location): return [package_data] +def convert_spdx_expression(license_expression_spdx): + """ + Return an ScanCode license expression from a SPDX `license_expression_spdx` + string. + """ + return get_license_detections_and_expression(license_expression_spdx)[1] + + def spdx_package_to_discovered_package_data(spdx_package): package_url_dict = {} for ref in spdx_package.external_refs: @@ -110,11 +120,17 @@ def spdx_package_to_discovered_package_data(spdx_package): for checksum in spdx_package.checksums } + declared_license_expression_spdx = spdx_package.license_concluded + declared_expression = "" + if declared_license_expression_spdx: + declared_expression = convert_spdx_expression(declared_license_expression_spdx) + package_data = { "name": spdx_package.name, "download_url": spdx_package.download_location, - "declared_license": spdx_package.license_declared, - "license_expression": get_spdx_expression(spdx_package.license_concluded or ""), + "declared_license_expression": declared_expression, + "declared_license_expression_spdx": declared_license_expression_spdx, + "extracted_license_statement": spdx_package.license_declared, "copyright": spdx_package.copyright_text, "version": spdx_package.version, "homepage_url": spdx_package.homepage, @@ -167,7 +183,7 @@ def cyclonedx_component_to_package_data(component_data): package_data = { "name": component.name, - "declared_license": declared_license, + "extracted_license_statement": declared_license, "copyright": component.copyright, "version": component.version, "description": component.description, @@ -236,20 +252,14 @@ def set_license_expression(package_data): Set the license expression from a detected license dict/str in provided `package_data`. """ - declared_license = package_data.get("declared_license") - license_expression = package_data.get("license_expression") - - if declared_license and not license_expression: - license_str = "" - - if isinstance(declared_license, dict): - license_str = declared_license.get("license") - - if not license_str: - license_str = repr(declared_license) + extracted_license_statement = package_data.get("extracted_license_statement") + declared_license_expression = package_data.get("declared_license_expression") - license_expression = get_normalized_expression(query_string=license_str) + if extracted_license_statement and not declared_license_expression: + _, license_expression = get_license_detections_and_expression( + extracted_license_statement + ) if license_expression: - package_data["license_expression"] = license_expression + package_data["declared_license_expression"] = license_expression return package_data diff --git a/scanpipe/pipes/rootfs.py b/scanpipe/pipes/rootfs.py index 7c25dc3546..7020a77d84 100644 --- a/scanpipe/pipes/rootfs.py +++ b/scanpipe/pipes/rootfs.py @@ -370,8 +370,8 @@ def tag_data_files_with_no_clues(project): copyrights=[], holders=[], authors=[], - licenses=[], - license_expressions=[], + license_detections=[], + detected_license_expression="", emails=[], urls=[], ) diff --git a/scanpipe/pipes/scancode.py b/scanpipe/pipes/scancode.py index c316d6c9c5..7ef20496fa 100644 --- a/scanpipe/pipes/scancode.py +++ b/scanpipe/pipes/scancode.py @@ -542,29 +542,30 @@ def _get_license_matches_grouped(project): license_expression. """ license_matches = defaultdict(list) + resources_with_license = project.codebaseresources.has_license_detections() - for resource in project.codebaseresources.has_licenses(): + for resource in resources_with_license: file_cache = [] - for license in resource.licenses: - matched_rule = license.get("matched_rule", {}) - license_expression = matched_rule.get("license_expression") - matched_text = license.get("matched_text") - - # Do not include duplicated matched_text for a given license_expression - # within the same file - cache_key = ":".join([license_expression, resource.path, matched_text]) - cache_key = hashlib.md5(cache_key.encode()).hexdigest() - if cache_key in file_cache: - continue - file_cache.append(cache_key) - - license_matches[license_expression].append( - { - "path": resource.path, - "matched_text": matched_text, - } - ) + for detection_data in resource.license_detections: + for match in detection_data.get("matches", []): + license_expression = match.get("license_expression") + matched_text = match.get("matched_text") + + # Do not include duplicated matched_text for a given license_expression + # within the same file + cache_key = ":".join([license_expression, resource.path, matched_text]) + cache_key = hashlib.md5(cache_key.encode()).hexdigest() + if cache_key in file_cache: + continue + file_cache.append(cache_key) + + license_matches[license_expression].append( + { + "path": resource.path, + "matched_text": matched_text, + } + ) return dict(license_matches) @@ -583,7 +584,8 @@ def make_results_summary(project, scan_results_location): summary = scan_data.get("summary") - # Inject the generated `license_matches` in the summary + # Inject the generated `license_matches` in the summary from the project + # codebase resources. summary["license_matches"] = _get_license_matches_grouped(project) # Inject the `key_files` and their file content in the summary diff --git a/scanpipe/pipes/windows.py b/scanpipe/pipes/windows.py index 5192b28610..bb5da785ba 100644 --- a/scanpipe/pipes/windows.py +++ b/scanpipe/pipes/windows.py @@ -152,7 +152,7 @@ def _tag_python_software(project): type="windows-program", name="Python", version=python_version, - license_expression="python", + declared_license_expression="python", copyright="Copyright (c) Python Software Foundation", homepage_url="https://www.python.org/", ) @@ -193,11 +193,12 @@ def _tag_openjdk_software(project): openjdk_versions_by_path[openjdk_root_path] = openjdk_version for openjdk_path, openjdk_version in openjdk_versions_by_path.items(): + license_expression = "gpl-2.0 WITH oracle-openjdk-classpath-exception-2.0" openjdk_package = Package( type="windows-program", name="OpenJDK", version=openjdk_version, - license_expression="gpl-2.0 WITH oracle-openjdk-classpath-exception-2.0", + declared_license_expression=license_expression, copyright="Copyright (c) Oracle and/or its affiliates", homepage_url="http://openjdk.java.net/", ) diff --git a/scanpipe/templates/scanpipe/attribution.html b/scanpipe/templates/scanpipe/attribution.html index dd20241021..e3ed410f55 100644 --- a/scanpipe/templates/scanpipe/attribution.html +++ b/scanpipe/templates/scanpipe/attribution.html @@ -57,7 +57,7 @@

{{ package }}

{{ package.copyright }}
{% endif %} {# 5. License expression #} - {% if package.license_expression %} + {% if package.declared_license_expression %}

This package is licensed under {{ package.expression_links|safe }}

{% endif %} {# 6. Notice text #} diff --git a/scanpipe/templates/scanpipe/base.html b/scanpipe/templates/scanpipe/base.html index b06fc41aa8..533045df86 100644 --- a/scanpipe/templates/scanpipe/base.html +++ b/scanpipe/templates/scanpipe/base.html @@ -40,6 +40,7 @@ #project-extra-data pre {background-color: initial; color: initial; padding: initial; white-space: pre-wrap; word-break: break-all;} #inputs-panel .panel-block.dropdown:hover {background-color: #f5f5f5;} #inputs-panel .dropdown-menu {width: 85%;} + a.panel-block {word-break: break-all;} .is-wider .dropdown-menu {min-width: 18rem;} .is-tooltip .dropdown-content {background-color: #363636;} .is-tooltip .dropdown-item {font-weight: normal; color: #fff;} diff --git a/scanpipe/templates/scanpipe/includes/project_pipelines.html b/scanpipe/templates/scanpipe/includes/project_pipelines.html index 1a658cf9ac..4f67405655 100644 --- a/scanpipe/templates/scanpipe/includes/project_pipelines.html +++ b/scanpipe/templates/scanpipe/includes/project_pipelines.html @@ -2,7 +2,7 @@

Pipelines

- {% for run in project.runs.all %} + {% for run in pipeline_runs %} {{ run.pipeline_name }} {% include "scanpipe/includes/run_status_tag.html" with run=run display_current_step=True only %} diff --git a/scanpipe/templates/scanpipe/package_list.html b/scanpipe/templates/scanpipe/package_list.html index 4bd6166695..80208d5301 100644 --- a/scanpipe/templates/scanpipe/package_list.html +++ b/scanpipe/templates/scanpipe/package_list.html @@ -30,7 +30,7 @@ {% endif %} - {{ package.license_expression|linebreaksbr }} + {{ package.declared_license_expression|linebreaksbr }} {{ package.copyright|truncatechars:150|linebreaksbr }} diff --git a/scanpipe/templates/scanpipe/project_charts.html b/scanpipe/templates/scanpipe/project_charts.html index 85c9656ce9..203ec55b18 100644 --- a/scanpipe/templates/scanpipe/project_charts.html +++ b/scanpipe/templates/scanpipe/project_charts.html @@ -2,7 +2,7 @@ {% if project.package_count %}
-

+

Discovered Packages {{ project.package_count|intcomma }}

@@ -11,20 +11,20 @@

-
+
{% endif %} {% if project.dependency_count %}
-

+

Discovered Dependencies {{ project.dependency_count|intcomma }}

-
+
@@ -55,8 +55,8 @@

{% include "scanpipe/includes/resource_chart_column.html" with field_name="copyrights" %}

- {% include "scanpipe/includes/resource_chart_column.html" with field_name="license_key" lookup_field="license_key" %} - {% include "scanpipe/includes/resource_chart_column.html" with field_name="license_category" lookup_field="license_category" %} + {% include "scanpipe/includes/resource_chart_column.html" with field_name="detected_license_expression" %} +
{% if file_compliance_alert %}
@@ -71,25 +71,18 @@

{% endif %} {% block scripts %} - {% if project.file_count %} - {{ programming_languages|json_script:"programming_languages" }} - {{ mime_types|json_script:"mime_types" }} - {{ holders|json_script:"holders" }} - {{ copyrights|json_script:"copyrights" }} - {{ file_license_keys|json_script:"file_license_keys" }} - {{ file_license_categories|json_script:"file_license_categories" }} - {{ file_compliance_alert|json_script:"file_compliance_alert" }} - {% endif %} - {% if project.package_count %} - {{ package_licenses|json_script:"package_licenses" }} - {{ package_types|json_script:"package_types" }} - {% endif %} - {% if project.dependency_count %} - {{ dependency_package_type|json_script:"dependency_package_type" }} - {{ dependency_is_runtime|json_script:"dependency_is_runtime" }} - {{ dependency_is_optional|json_script:"dependency_is_optional" }} - {{ dependency_is_resolved|json_script:"dependency_is_resolved" }} - {% endif %} + {{ file_programming_language|json_script:"file_programming_language" }} + {{ file_mime_type|json_script:"file_mime_type" }} + {{ file_holders|json_script:"file_holders" }} + {{ file_copyrights|json_script:"file_copyrights" }} + {{ file_detected_license_expression|json_script:"file_detected_license_expression" }} + {{ file_compliance_alert|json_script:"file_compliance_alert" }} + {{ package_declared_license_expression|json_script:"package_declared_license_expression" }} + {{ package_type|json_script:"package_type" }} + {{ dependency_type|json_script:"dependency_type" }} + {{ dependency_is_runtime|json_script:"dependency_is_runtime" }} + {{ dependency_is_optional|json_script:"dependency_is_optional" }} + {{ dependency_is_resolved|json_script:"dependency_is_resolved" }} {% endblock %} \ No newline at end of file diff --git a/scanpipe/templates/scanpipe/project_detail.html b/scanpipe/templates/scanpipe/project_detail.html index 1ab6203f63..4a9736e277 100644 --- a/scanpipe/templates/scanpipe/project_detail.html +++ b/scanpipe/templates/scanpipe/project_detail.html @@ -62,7 +62,7 @@

- {% elif not project.runs.all %} + {% elif not pipeline_runs %}

diff --git a/scanpipe/templates/scanpipe/resource_list.html b/scanpipe/templates/scanpipe/resource_list.html index d676599a61..e12ef24e67 100644 --- a/scanpipe/templates/scanpipe/resource_list.html +++ b/scanpipe/templates/scanpipe/resource_list.html @@ -55,13 +55,7 @@ {{ resource.tag }} -

+ {{ resource.detected_license_expression }} {% if include_compliance_alert %} diff --git a/scanpipe/tests/__init__.py b/scanpipe/tests/__init__.py index 7bfe2e651b..e0780ae77d 100644 --- a/scanpipe/tests/__init__.py +++ b/scanpipe/tests/__init__.py @@ -74,8 +74,8 @@ def make_resource_file(project, path, **extra): "is_archive": False, "is_media": False, "is_key_file": False, - "licenses": [], - "license_expressions": [], + "license_detections": [], + "detected_license_expression": "", "compliance_alert": "", "copyrights": [], "holders": [], @@ -124,12 +124,12 @@ def make_resource_file(project, path, **extra): "Copyright (c) 1995 Ted Hajek \n" "portions Copyright (c) 1994 Debian Association, Inc." ), - "license_expression": "gpl-2.0 AND gpl-2.0-plus AND unknown", - "declared_license": "", + "declared_license_expression": "gpl-2.0 AND gpl-2.0-plus", + "declared_license_expression_spdx": "GPL-2.0-only AND GPL-2.0-or-later", + "extracted_license_statement": "", "notice_text": None, "root_path": None, "dependencies": [], - "contains_source_code": None, "source_packages": [], "purl": "pkg:deb/debian/adduser@3.118?arch=all", "repository_homepage_url": None, diff --git a/scanpipe/tests/data/alpine_3_15_4_scan_codebase.json b/scanpipe/tests/data/alpine_3_15_4_scan_codebase.json index 83d763c606..9f9f6194d5 100644 --- a/scanpipe/tests/data/alpine_3_15_4_scan_codebase.json +++ b/scanpipe/tests/data/alpine_3_15_4_scan_codebase.json @@ -132,8 +132,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "gpl-2.0", - "declared_license": "GPL-2.0-only", + "holder": "", + "declared_license_expression": "gpl-2.0", + "declared_license_expression_spdx": "GPL-2.0-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "start_line": 1, + "matched_text": "gpl-2.0-only", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0-7541c21a-b2c9-c697-2794-bf0cfcdf32f9", + "license_expression": "gpl-2.0" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "GPL-2.0-only", "notice_text": "", "source_packages": [ "pkg:alpine/alpine-baselayout@3.2.0-r18" @@ -175,8 +201,6 @@ ] }, "package_uid": "pkg:alpine/alpine-baselayout@3.2.0-r18?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -216,8 +240,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit", - "declared_license": "MIT", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "mit", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", + "license_expression": "mit" + } + ], + "identifier": "mit-704ced38-ea60-e53b-6c20-390fe781b1c3", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "MIT", "notice_text": "", "source_packages": [ "pkg:alpine/alpine-keys@2.4-r1" @@ -379,8 +429,6 @@ ] }, "package_uid": "pkg:alpine/alpine-keys@2.4-r1?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -420,16 +468,40 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "gpl-2.0", - "declared_license": "GPL-2.0-only", + "holder": "", + "declared_license_expression": "gpl-2.0", + "declared_license_expression_spdx": "GPL-2.0-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "start_line": 1, + "matched_text": "gpl-2.0-only", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0-7541c21a-b2c9-c697-2794-bf0cfcdf32f9", + "license_expression": "gpl-2.0" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "GPL-2.0-only", "notice_text": "", "source_packages": [ "pkg:alpine/apk-tools@2.12.7-r3" ], "extra_data": {}, "package_uid": "pkg:alpine/apk-tools@2.12.7-r3?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -469,8 +541,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "gpl-2.0", - "declared_license": "GPL-2.0-only", + "holder": "", + "declared_license_expression": "gpl-2.0", + "declared_license_expression_spdx": "GPL-2.0-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "start_line": 1, + "matched_text": "gpl-2.0-only", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0-7541c21a-b2c9-c697-2794-bf0cfcdf32f9", + "license_expression": "gpl-2.0" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "GPL-2.0-only", "notice_text": "", "source_packages": [ "pkg:alpine/busybox@1.34.1-r5" @@ -488,8 +586,6 @@ ] }, "package_uid": "pkg:alpine/busybox@1.34.1-r5?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -529,8 +625,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mpl-2.0 AND mit", - "declared_license": "MPL-2.0 AND MIT", + "holder": "", + "declared_license_expression": "mpl-2.0 AND mit", + "declared_license_expression_spdx": "MPL-2.0 AND MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "mpl-2.0 AND mit", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", + "license_expression": "mpl-2.0 AND mit" + } + ], + "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8", + "license_expression": "mpl-2.0 AND mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "MPL-2.0 AND MIT", "notice_text": "", "source_packages": [ "pkg:alpine/ca-certificates@20211220-r0" @@ -548,8 +670,6 @@ ] }, "package_uid": "pkg:alpine/ca-certificates-bundle@20211220-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -589,16 +709,40 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "bsd-simplified AND bsd-new", - "declared_license": "BSD-2-Clause AND BSD-3-Clause", + "holder": "", + "declared_license_expression": "bsd-simplified AND bsd-new", + "declared_license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "bsd-2-clause AND bsd-3-clause", + "match_coverage": 100.0, + "matched_length": 7, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", + "license_expression": "bsd-simplified AND bsd-new" + } + ], + "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad", + "license_expression": "bsd-simplified AND bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "BSD-2-Clause AND BSD-3-Clause", "notice_text": "", "source_packages": [ "pkg:alpine/libc-dev@0.7.2-r3" ], "extra_data": {}, "package_uid": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -638,8 +782,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "openssl-ssleay", - "declared_license": "OpenSSL", + "holder": "", + "declared_license_expression": "openssl-ssleay", + "declared_license_expression_spdx": "OpenSSL", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "openssl", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", + "license_expression": "openssl-ssleay" + } + ], + "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773", + "license_expression": "openssl-ssleay" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "OpenSSL", "notice_text": "", "source_packages": [ "pkg:alpine/openssl@1.1.1n-r0" @@ -681,8 +851,6 @@ ] }, "package_uid": "pkg:alpine/libcrypto1.1@1.1.1n-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -722,8 +890,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "isc AND (bsd-new OR mit)", - "declared_license": "ISC AND (BSD-3-Clause OR MIT)", + "holder": "", + "declared_license_expression": "isc AND (bsd-new OR mit)", + "declared_license_expression_spdx": "ISC AND (BSD-3-Clause OR MIT)", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "isc AND (bsd-3-clause OR mit)", + "match_coverage": 100.0, + "matched_length": 7, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-isc AND (bsd-new OR mit)-7471dfe24fdc3b7a8943273ac320469f644d2688", + "license_expression": "isc AND (bsd-new OR mit)" + } + ], + "identifier": "isc_and__bsd_new_or_mit-d4c1876e-a168-ee43-975a-1df35f85f171", + "license_expression": "isc AND (bsd-new OR mit)" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "ISC AND (BSD-3-Clause OR MIT)", "notice_text": "", "source_packages": [ "pkg:alpine/libretls@3.3.4-r3" @@ -741,8 +935,6 @@ ] }, "package_uid": "pkg:alpine/libretls@3.3.4-r3?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -782,8 +974,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "openssl-ssleay", - "declared_license": "OpenSSL", + "holder": "", + "declared_license_expression": "openssl-ssleay", + "declared_license_expression_spdx": "OpenSSL", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "openssl", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", + "license_expression": "openssl-ssleay" + } + ], + "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773", + "license_expression": "openssl-ssleay" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "OpenSSL", "notice_text": "", "source_packages": [ "pkg:alpine/openssl@1.1.1n-r0" @@ -801,8 +1019,6 @@ ] }, "package_uid": "pkg:alpine/libssl1.1@1.1.1n-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -842,8 +1058,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit", - "declared_license": "MIT", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "mit", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", + "license_expression": "mit" + } + ], + "identifier": "mit-704ced38-ea60-e53b-6c20-390fe781b1c3", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "MIT", "notice_text": "", "source_packages": [ "pkg:alpine/musl@1.2.2-r7" @@ -861,8 +1103,6 @@ ] }, "package_uid": "pkg:alpine/musl@1.2.2-r7?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -902,16 +1142,40 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "declared_license": "MIT BSD GPL2+", + "holder": "", + "declared_license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "declared_license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later", + "match_coverage": 100.0, + "matched_length": 11, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", + "license_expression": "mit AND bsd-new AND gpl-2.0-plus" + } + ], + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3", + "license_expression": "mit AND bsd-new AND gpl-2.0-plus" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "MIT BSD GPL2+", "notice_text": "", "source_packages": [ "pkg:alpine/musl@1.2.2-r7" ], "extra_data": {}, "package_uid": "pkg:alpine/musl-utils@1.2.2-r7?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -951,16 +1215,40 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "gpl-2.0", - "declared_license": "GPL-2.0-only", + "holder": "", + "declared_license_expression": "gpl-2.0", + "declared_license_expression_spdx": "GPL-2.0-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "start_line": 1, + "matched_text": "gpl-2.0-only", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0-7541c21a-b2c9-c697-2794-bf0cfcdf32f9", + "license_expression": "gpl-2.0" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "GPL-2.0-only", "notice_text": "", "source_packages": [ "pkg:alpine/pax-utils@1.3.3-r0" ], "extra_data": {}, "package_uid": "pkg:alpine/scanelf@1.3.3-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -1000,16 +1288,40 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "gpl-2.0", - "declared_license": "GPL-2.0-only", + "holder": "", + "declared_license_expression": "gpl-2.0", + "declared_license_expression_spdx": "GPL-2.0-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "start_line": 1, + "matched_text": "gpl-2.0-only", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0-7541c21a-b2c9-c697-2794-bf0cfcdf32f9", + "license_expression": "gpl-2.0" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "GPL-2.0-only", "notice_text": "", "source_packages": [ "pkg:alpine/busybox@1.34.1-r5" ], "extra_data": {}, "package_uid": "pkg:alpine/ssl_client@1.34.1-r5?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -1049,8 +1361,34 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "zlib", - "declared_license": "Zlib", + "holder": "", + "declared_license_expression": "zlib", + "declared_license_expression_spdx": "Zlib", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "zlib", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", + "license_expression": "zlib" + } + ], + "identifier": "zlib-f742edbd-d484-7a19-19f0-f4582738f149", + "license_expression": "zlib" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "Zlib", "notice_text": "", "source_packages": [ "pkg:alpine/zlib@1.2.12-r0" @@ -1068,8 +1406,6 @@ ] }, "package_uid": "pkg:alpine/zlib@1.2.12-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -1095,8 +1431,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1123,8 +1462,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1153,8 +1495,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1181,8 +1526,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1209,8 +1557,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1237,8 +1588,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1265,8 +1619,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1293,8 +1650,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1321,8 +1681,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1351,8 +1714,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1381,8 +1747,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1411,8 +1780,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1441,8 +1813,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1471,8 +1846,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1499,8 +1877,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1527,8 +1908,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1555,8 +1939,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1583,8 +1970,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1611,8 +2001,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1641,8 +2034,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1671,8 +2067,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1701,8 +2100,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1731,8 +2133,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1761,8 +2166,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1789,8 +2197,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1819,8 +2230,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1847,8 +2261,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1875,8 +2292,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1905,8 +2325,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1933,8 +2356,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1963,8 +2389,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1993,8 +2422,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2023,8 +2455,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2053,8 +2488,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2083,8 +2521,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2111,8 +2552,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2141,8 +2585,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2169,8 +2616,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2197,8 +2647,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2225,8 +2678,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2253,8 +2709,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2281,8 +2740,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2309,8 +2771,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2337,8 +2802,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2367,8 +2835,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2395,8 +2866,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2423,8 +2897,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2453,8 +2930,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2481,8 +2961,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2509,8 +2992,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2537,8 +3023,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2565,8 +3054,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2593,8 +3085,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2621,8 +3116,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2651,8 +3149,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2679,8 +3180,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2709,8 +3213,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2739,8 +3246,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2769,8 +3279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2799,8 +3312,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2829,8 +3345,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2859,8 +3378,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2889,8 +3411,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2919,8 +3444,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2947,8 +3475,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2975,8 +3506,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3005,8 +3539,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3033,8 +3570,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3063,8 +3603,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3093,8 +3636,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3123,8 +3669,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3151,8 +3700,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3181,8 +3733,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3209,8 +3764,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3239,8 +3797,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3267,8 +3828,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3295,8 +3859,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3323,8 +3890,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3351,8 +3921,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3379,8 +3952,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3407,8 +3983,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3435,8 +4014,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3463,8 +4045,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3491,8 +4076,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3521,8 +4109,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3551,8 +4142,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3581,8 +4175,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3611,8 +4208,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3641,8 +4241,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3669,8 +4272,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3697,8 +4303,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3725,8 +4334,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3755,8 +4367,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3783,8 +4398,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3811,8 +4429,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3839,8 +4460,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3867,8 +4491,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3895,8 +4522,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3923,8 +4553,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3951,8 +4584,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3979,8 +4615,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4007,8 +4646,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4035,8 +4677,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4065,8 +4710,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4095,8 +4743,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4125,8 +4776,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4153,8 +4807,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4181,8 +4838,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4209,8 +4869,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4237,8 +4900,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4265,8 +4931,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4295,8 +4964,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4325,8 +4997,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4355,8 +5030,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4385,8 +5063,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4415,8 +5096,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4445,8 +5129,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4473,8 +5160,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4501,8 +5191,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4531,8 +5224,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4561,8 +5257,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4591,8 +5290,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4621,8 +5323,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4649,8 +5354,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4677,8 +5385,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4705,8 +5416,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4733,8 +5447,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4761,8 +5478,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4789,8 +5509,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4817,8 +5540,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4845,8 +5571,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4873,8 +5602,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4901,8 +5633,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4931,8 +5666,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4961,8 +5699,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4991,8 +5732,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5021,8 +5765,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5051,8 +5798,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5081,8 +5831,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5111,8 +5864,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5141,8 +5897,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5171,8 +5930,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5201,8 +5963,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5231,8 +5996,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5261,8 +6029,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5291,8 +6062,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5321,8 +6095,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5351,8 +6128,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5381,8 +6161,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5411,8 +6194,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5439,8 +6225,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5467,8 +6256,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5495,8 +6287,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5523,8 +6318,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5551,8 +6349,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5579,8 +6380,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5607,8 +6411,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5635,8 +6442,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5663,8 +6473,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5691,8 +6504,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5719,8 +6535,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5749,8 +6568,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5777,8 +6599,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5805,8 +6630,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5833,8 +6661,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5861,8 +6692,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5889,8 +6723,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5917,8 +6754,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5945,8 +6785,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5973,8 +6816,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6001,8 +6847,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6029,8 +6878,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6057,8 +6909,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6085,8 +6940,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6113,8 +6971,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6141,8 +7002,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6169,8 +7033,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6197,8 +7064,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6225,8 +7095,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/asgiref-3.3.0.spdx.json b/scanpipe/tests/data/asgiref-3.3.0.spdx.json index 17d9d73218..88ccc416ad 100644 --- a/scanpipe/tests/data/asgiref-3.3.0.spdx.json +++ b/scanpipe/tests/data/asgiref-3.3.0.spdx.json @@ -3,7 +3,7 @@ "dataLicense": "CC0-1.0", "SPDXID": "SPDXRef-DOCUMENT", "name": "scancodeio_asgiref", - "documentNamespace": "https://scancode.io/spdxdocs/4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "documentNamespace": "https://scancode.io/spdxdocs/cbd609b2-525a-4052-9860-201b879b20d9", "creationInfo": { "created": "2000-01-01T01:02:03Z", "creators": [ @@ -14,13 +14,13 @@ "packages": [ { "name": "asgiref", - "SPDXID": "SPDXRef-scancodeio-discoveredpackage-d4227045-439f-41b8-98ff-067c55276b2f", + "SPDXID": "SPDXRef-scancodeio-discoveredpackage-8fa7433f-c05e-45b3-960d-60a5423327f7", "downloadLocation": "NOASSERTION", - "licenseConcluded": "BSD-3-Clause AND BSD-3-Clause", + "licenseConcluded": "BSD-3-Clause", "copyrightText": "NOASSERTION", "filesAnalyzed": false, "versionInfo": "3.3.0", - "licenseDeclared": "BSD-3-Clause AND BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", "homepage": "https://github.com/django/asgiref/", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", "externalRefs": [ @@ -33,13 +33,13 @@ }, { "name": "asgiref", - "SPDXID": "SPDXRef-scancodeio-discoveredpackage-92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", + "SPDXID": "SPDXRef-scancodeio-discoveredpackage-bef22e34-f8c3-463d-9d3e-46a55c3170e8", "downloadLocation": "NOASSERTION", - "licenseConcluded": "BSD-3-Clause AND BSD-3-Clause", + "licenseConcluded": "BSD-3-Clause", "copyrightText": "NOASSERTION", "filesAnalyzed": false, "versionInfo": "3.3.0", - "licenseDeclared": "BSD-3-Clause AND BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", "homepage": "https://github.com/django/asgiref/", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", "externalRefs": [ @@ -52,7 +52,7 @@ }, { "name": "pytest", - "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", + "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", "downloadLocation": "NOASSERTION", "licenseConcluded": "NOASSERTION", "copyrightText": "NOASSERTION", @@ -68,7 +68,7 @@ }, { "name": "pytest", - "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", + "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", "downloadLocation": "NOASSERTION", "licenseConcluded": "NOASSERTION", "copyrightText": "NOASSERTION", @@ -84,7 +84,7 @@ }, { "name": "pytest-asyncio", - "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", + "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", "downloadLocation": "NOASSERTION", "licenseConcluded": "NOASSERTION", "copyrightText": "NOASSERTION", @@ -100,7 +100,7 @@ }, { "name": "pytest-asyncio", - "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b", + "SPDXID": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa", "downloadLocation": "NOASSERTION", "licenseConcluded": "NOASSERTION", "copyrightText": "NOASSERTION", @@ -116,33 +116,33 @@ } ], "documentDescribes": [ - "SPDXRef-scancodeio-discoveredpackage-d4227045-439f-41b8-98ff-067c55276b2f", - "SPDXRef-scancodeio-discoveredpackage-92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", - "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", - "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", - "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", - "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b" + "SPDXRef-scancodeio-discoveredpackage-8fa7433f-c05e-45b3-960d-60a5423327f7", + "SPDXRef-scancodeio-discoveredpackage-bef22e34-f8c3-463d-9d3e-46a55c3170e8", + "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", + "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", + "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", + "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa" ], "files": [], "relationships": [ { - "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", - "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-d4227045-439f-41b8-98ff-067c55276b2f", + "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", + "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-8fa7433f-c05e-45b3-960d-60a5423327f7", "relationshipType": "DEPENDENCY_OF" }, { - "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", - "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", + "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", + "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-bef22e34-f8c3-463d-9d3e-46a55c3170e8", "relationshipType": "DEPENDENCY_OF" }, { - "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", - "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-d4227045-439f-41b8-98ff-067c55276b2f", + "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", + "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-8fa7433f-c05e-45b3-960d-60a5423327f7", "relationshipType": "DEPENDENCY_OF" }, { - "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b", - "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", + "spdxElementId": "SPDXRef-scancodeio-discovereddependency-pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa", + "relatedSpdxElement": "SPDXRef-scancodeio-discoveredpackage-bef22e34-f8c3-463d-9d3e-46a55c3170e8", "relationshipType": "DEPENDENCY_OF" } ], diff --git a/scanpipe/tests/data/asgiref-3.3.0_fixtures.json b/scanpipe/tests/data/asgiref-3.3.0_fixtures.json index 1dbd0960c3..0224c20eb8 100644 --- a/scanpipe/tests/data/asgiref-3.3.0_fixtures.json +++ b/scanpipe/tests/data/asgiref-3.3.0_fixtures.json @@ -1,10 +1,10 @@ [ { "model": "scanpipe.project", - "pk": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "pk": "cbd609b2-525a-4052-9860-201b879b20d9", "fields": { "extra_data": {}, - "created_date": "2023-03-01T00:08:21.226Z", + "created_date": "2023-05-08T04:34:00.013Z", "name": "asgiref", "work_directory": "/tmp/tmp1kvnzy78/projects/asgiref-4c7f2e2e", "input_sources": { @@ -15,74 +15,40 @@ }, { "model": "scanpipe.run", - "pk": "04149b89-48d3-4f1d-a143-8459693eaf6b", + "pk": "69d0d86d-6462-47db-b933-6638642bbbfc", "fields": { "task_id": null, "task_start_date": null, "task_end_date": null, "task_exitcode": null, "task_output": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "pipeline_name": "scan_codebase", - "created_date": "2023-03-01T00:08:21.228Z", + "created_date": "2023-05-08T04:34:00.018Z", "scancodeio_version": "", - "description": "A pipeline to scan a codebase resource with ScanCode-toolkit.\n\nInput files are copied to the project's codebase/ directory and are extracted\nin place before running the scan.\nAlternatively, the code can be manually copied to the project codebase/\ndirectory.", + "description": "Scan a codebase with ScanCode-toolkit.", "current_step": "", - "log": "2023-03-01 00:08:21.22 Pipeline [scan_codebase] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-03-01 00:08:21.23 Step [extract_archives] starting\n2023-03-01 00:08:21.25 Step [extract_archives] completed in 0.02 seconds\n2023-03-01 00:08:21.25 Step [collect_and_create_codebase_resources] starting\n2023-03-01 00:08:21.46 Step [collect_and_create_codebase_resources] completed in 0.21 seconds\n2023-03-01 00:08:21.46 Step [tag_empty_files] starting\n2023-03-01 00:08:21.46 Step [tag_empty_files] completed in 0.00 seconds\n2023-03-01 00:08:21.46 Step [scan_for_application_packages] starting\n2023-03-01 00:08:24.33 Step [scan_for_application_packages] completed in 2.87 seconds\n2023-03-01 00:08:24.33 Step [scan_for_files] starting\n2023-03-01 00:08:31.11 Step [scan_for_files] completed in 6.78 seconds\n2023-03-01 00:08:31.11 Pipeline completed\n" + "log": "2023-05-08 06:34:00.01 Pipeline [scan_codebase] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-05-08 06:34:00.02 Step [extract_archives] starting\n2023-05-08 06:34:00.04 Step [extract_archives] completed in 0.02 seconds\n2023-05-08 06:34:00.04 Step [collect_and_create_codebase_resources] starting\n2023-05-08 06:34:00.16 Step [collect_and_create_codebase_resources] completed in 0.11 seconds\n2023-05-08 06:34:00.16 Step [tag_empty_files] starting\n2023-05-08 06:34:00.16 Step [tag_empty_files] completed in 0.00 seconds\n2023-05-08 06:34:00.16 Step [scan_for_application_packages] starting\n2023-05-08 06:34:01.88 Step [scan_for_application_packages] completed in 1.72 seconds\n2023-05-08 06:34:01.88 Step [scan_for_files] starting\n2023-05-08 06:34:03.54 Step [scan_for_files] completed in 1.66 seconds\n2023-05-08 06:34:03.54 Pipeline completed\n" } }, { "model": "scanpipe.codebaseresource", "pk": 1, - "fields": { - "md5": "", - "sha1": "", - "sha256": "", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0-py3-none-any.whl-extract", - "rootfs_path": "", - "status": "scanned", - "size": 4096, - "tag": "", - "type": "directory", - "name": "asgiref-3.3.0-py3-none-any.whl-extract", - "extension": ".whl-extract", - "programming_language": "", - "mime_type": "", - "file_type": "", - "is_binary": false, - "is_text": false, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } -}, -{ - "model": "scanpipe.codebaseresource", - "pk": 2, "fields": { "md5": "5bce1df6dedc53a41a9a6b40d7b1699e", "sha1": "c03f67211a311b13d1294ac8af7cb139ee34c4f9", "sha256": "a5098bc870b80e7b872bff60bb363c7f2c2c89078759f6c47b53ff8c525a152e", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl", @@ -95,7 +61,7 @@ "extension": ".whl", "programming_language": "", "mime_type": "application/zip", - "file_type": "Zip archive data, at least v2.0 to extract", + "file_type": "Zip archive data, at least v2.0 to extract, compression method=deflate", "is_binary": true, "is_text": false, "is_archive": true, @@ -110,6 +76,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -306,20 +273,99 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ] } }, +{ + "model": "scanpipe.codebaseresource", + "pk": 2, + "fields": { + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0-py3-none-any.whl-extract", + "rootfs_path": "", + "status": "scanned", + "size": 128, + "tag": "", + "type": "directory", + "name": "asgiref-3.3.0-py3-none-any.whl-extract", + "extension": ".whl-extract", + "programming_language": "", + "mime_type": "", + "file_type": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_key_file": false, + "is_media": false, + "compliance_alert": "", + "package_data": [] + } +}, { "model": "scanpipe.codebaseresource", "pk": 3, @@ -329,18 +375,21 @@ "sha256": "", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref", "rootfs_path": "", "status": "scanned", - "size": 4096, + "size": 352, "tag": "", "type": "directory", "name": "asgiref", @@ -366,18 +415,21 @@ "sha256": "", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info", "rootfs_path": "", "status": "scanned", - "size": 4096, + "size": 224, "tag": "", "type": "directory", "name": "asgiref-3.3.0.dist-info", @@ -403,12 +455,15 @@ "sha256": "fa4651a3b79201a4dc44a4096cd49ec8f427e912ea0ee05c666357b413a8afe7", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/sync.py", @@ -435,26 +490,29 @@ "model": "scanpipe.codebaseresource", "pk": 6, "fields": { - "md5": "aff31de5fa753643adacf0311aa553f4", - "sha1": "534de2315197b14d0571edc5ed3b3b8ceade0d24", - "sha256": "ddbc8d455eceb68fc583c67e7c4ad0277c867fb39095c51ec5b37f70342e8334", + "md5": "5231077fd0628314246fcba7817b561e", + "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", + "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/testing.py", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py", "rootfs_path": "", "status": "scanned", - "size": 3119, + "size": 1598, "tag": "", "type": "file", - "name": "testing.py", + "name": "compatibility.py", "extension": ".py", "programming_language": "Python", "mime_type": "text/x-script.python", @@ -477,12 +535,15 @@ "sha256": "885267fee0fea687875a02ceb929ca095312d47aaa57e20e4ce382f397caaf4d", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/server.py", @@ -508,55 +569,21 @@ { "model": "scanpipe.codebaseresource", "pk": 8, - "fields": { - "md5": "5231077fd0628314246fcba7817b561e", - "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", - "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py", - "rootfs_path": "", - "status": "scanned", - "size": 1598, - "tag": "", - "type": "file", - "name": "compatibility.py", - "extension": ".py", - "programming_language": "Python", - "mime_type": "text/x-script.python", - "file_type": "Python script, ASCII text executable", - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } -}, -{ - "model": "scanpipe.codebaseresource", - "pk": 9, "fields": { "md5": "e4103a2fcd6a3f23a036307c978271d7", "sha1": "0de5075d1ce4a1a17d70ad6ee523e3d947074899", "sha256": "ee0fcf4a8e6fa9df8a4643bb48e82892d496afce44b6c8b8aea2721755545e1c", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/local.py", @@ -581,19 +608,22 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 10, + "pk": 9, "fields": { "md5": "b4c45f37055d88dd11b15eb4de51b074", "sha1": "aacf7e5e2e5ba78ccfb67fa10e9e6b22c3935c9b", "sha256": "ddd445b778c097fc75c2bf69ad964cbadd3bd6999d1dd2306d39d401855e8e3e", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/current_thread_executor.py", @@ -618,61 +648,43 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 11, + "pk": 10, "fields": { "md5": "8114ef1d7c1488ebf3a1766dbd39d427", "sha1": "361968f116e8ff9156511bf22f6aa04426f0c540", "sha256": "126c3e3a8a75a517d2739612304607804cf5f34da63fa25d03a6f11f7edb6f2f", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [ + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ { - "key": "apache-2.0", - "name": "Apache License 2.0", - "owner": "Apache Software Foundation", - "score": 100.0, - "category": "Permissive", - "end_line": 2, - "spdx_url": "https://spdx.org/licenses/Apache-2.0", - "text_url": "http://www.apache.org/licenses/LICENSE-2.0", - "is_unknown": false, - "short_name": "Apache 2.0", - "start_line": 2, - "homepage_url": "http://www.apache.org/licenses/", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "apache-2.0" - ], - "identifier": "apache-2.0_174.RULE", - "has_unknown": false, - "rule_length": 6, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 6, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": true, - "license_expression": "apache-2.0", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "# under the Apache 2.0 license. You may see the original project at", - "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", - "spdx_license_key": "Apache-2.0", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 2, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_174.RULE", + "start_line": 2, + "matched_text": "# under the Apache 2.0 license. You may see the original project at", + "match_coverage": 100.0, + "matched_length": 6, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_174.RULE", + "license_expression": "apache-2.0" + } + ], + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900", + "license_expression": "apache-2.0" } ], - "license_expressions": [ - "apache-2.0" - ], + "license_clues": [], + "percentage_of_license_text": 1.22, + "copyrights": [], + "holders": [], + "authors": [], "emails": [], "urls": [ { @@ -707,6 +719,46 @@ "is_archive": false, "is_key_file": false, "is_media": false, + "compliance_alert": "missing", + "package_data": [] + } +}, +{ + "model": "scanpipe.codebaseresource", + "pk": 11, + "fields": { + "md5": "4910b756f4e611055140e80f757d9325", + "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", + "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py", + "rootfs_path": "", + "status": "scanned", + "size": 22, + "tag": "", + "type": "file", + "name": "__init__.py", + "extension": ".py", + "programming_language": "Python", + "mime_type": "text/plain", + "file_type": "ASCII text", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_key_file": false, + "is_media": false, "compliance_alert": "", "package_data": [] } @@ -714,18 +766,61 @@ { "model": "scanpipe.codebaseresource", "pk": 12, + "fields": { + "md5": "aff31de5fa753643adacf0311aa553f4", + "sha1": "534de2315197b14d0571edc5ed3b3b8ceade0d24", + "sha256": "ddbc8d455eceb68fc583c67e7c4ad0277c867fb39095c51ec5b37f70342e8334", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/testing.py", + "rootfs_path": "", + "status": "scanned", + "size": 3119, + "tag": "", + "type": "file", + "name": "testing.py", + "extension": ".py", + "programming_language": "Python", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_key_file": false, + "is_media": false, + "compliance_alert": "", + "package_data": [] + } +}, +{ + "model": "scanpipe.codebaseresource", + "pk": 13, "fields": { "md5": "4eed1361d0e454149f95fca85c84f33f", "sha1": "1f06eb4dd6d38b1a3e2a9b9e751744b303c37e0d", "sha256": "f8bd1ea3fb8afddabb10f8efd66796d41446cad51168ef4d3c44b19c973d0ad0", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/wsgi.py", @@ -750,32 +845,35 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 13, + "pk": 14, "fields": { - "md5": "4910b756f4e611055140e80f757d9325", - "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", - "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", + "md5": "38e56802a5adcafeae35efc6e3d218ba", + "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", + "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/RECORD", "rootfs_path": "", "status": "scanned", - "size": 22, + "size": 1073, "tag": "", "type": "file", - "name": "__init__.py", - "extension": ".py", - "programming_language": "Python", - "mime_type": "text/plain", - "file_type": "ASCII text", + "name": "RECORD", + "extension": "", + "programming_language": "", + "mime_type": "text/csv", + "file_type": "CSV text", "is_binary": false, "is_text": true, "is_archive": false, @@ -787,14 +885,40 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 14, + "pk": 15, "fields": { "md5": "f09eb47206614a4954c51db8a94840fa", "sha1": "baf11129ce63c4eef654f39a360b31cfc7d1ac67", "sha256": "b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 27, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", + "start_line": 4, + "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 214, + "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", + "license_expression": "bsd-new" + } + ], + "license_clues": [], + "percentage_of_license_text": 95.11, "copyrights": [ { "end_line": 1, @@ -810,50 +934,6 @@ } ], "authors": [], - "licenses": [ - { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 100.0, - "category": "Permissive", - "end_line": 27, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 4, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "bsd-new_683.RULE", - "has_unknown": false, - "rule_length": 214, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 214, - "rule_relevance": 100, - "is_license_text": true, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" - } - ], - "license_expressions": [ - "bsd-new" - ], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/LICENSE", @@ -872,25 +952,28 @@ "is_archive": false, "is_key_file": false, "is_media": false, - "compliance_alert": "", + "compliance_alert": "missing", "package_data": [] } }, { "model": "scanpipe.codebaseresource", - "pk": 15, + "pk": 16, "fields": { "md5": "5ccc7519eb42f1dfceee6e7d685f1ff5", "sha1": "ddd91bc89b15fc5c66e0fa259392955c74ba041f", "sha256": "11546323af45e6a5639bf620a9c4d73e74c0bf705f494af4595007b923f75e8a", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/WHEEL", @@ -915,19 +998,22 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 16, + "pk": 17, "fields": { "md5": "680e61db4d95c8d9501b7a49fa2bf0b2", "sha1": "612390bd0d0227c009f9c99b479878adf7ac2f23", "sha256": "6e89108c2cf0c0446174188f76f60465ae1c1f14f83427807df40d52a27cb2c8", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/top_level.txt", @@ -950,43 +1036,6 @@ "package_data": [] } }, -{ - "model": "scanpipe.codebaseresource", - "pk": 17, - "fields": { - "md5": "38e56802a5adcafeae35efc6e3d218ba", - "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", - "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/RECORD", - "rootfs_path": "", - "status": "scanned", - "size": 1073, - "tag": "", - "type": "file", - "name": "RECORD", - "extension": "", - "programming_language": "", - "mime_type": "application/csv", - "file_type": "CSV text", - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } -}, { "model": "scanpipe.codebaseresource", "pk": 18, @@ -996,12 +1045,15 @@ "sha256": "70f98f4eb9f6068b192b5464fcdf69e29a8ff09962bfce84bbb052baeee44f33", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", @@ -1029,6 +1081,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -1225,16 +1278,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ] } @@ -1258,7 +1350,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "filename": "", "primary_language": "Python", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", @@ -1273,11 +1365,54 @@ "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "parties": [ @@ -1289,10 +1424,10 @@ "email": "foundation@djangoproject.com" } ], - "uuid": "d4227045-439f-41b8-98ff-067c55276b2f", + "uuid": "8fa7433f-c05e-45b3-960d-60a5423327f7", "missing_resources": [], "modified_resources": [], - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5", "keywords": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -1309,7 +1444,7 @@ ], "source_packages": [], "codebase_resources": [ - 2 + 1 ] } }, @@ -1332,7 +1467,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "filename": "", "primary_language": "Python", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", @@ -1347,11 +1482,54 @@ "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "parties": [ @@ -1363,10 +1541,10 @@ "email": "foundation@djangoproject.com" } ], - "uuid": "92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", + "uuid": "bef22e34-f8c3-463d-9d3e-46a55c3170e8", "missing_resources": [], "modified_resources": [], - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9", "keywords": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -1383,20 +1561,20 @@ ], "source_packages": [], "codebase_resources": [ - 14, + 15, 18, - 17, + 14, 16, - 15, - 8, - 10, - 13, + 17, + 11, + 6, 9, + 8, 7, 5, - 6, - 11, - 12 + 12, + 10, + 13 ] } }, @@ -1410,10 +1588,10 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", "for_package": 1, - "datafile_resource": 2, + "datafile_resource": 1, "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "datasource_id": "pypi_wheel", @@ -1432,10 +1610,10 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", "for_package": 1, - "datafile_resource": 2, + "datafile_resource": 1, "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "datasource_id": "pypi_wheel", @@ -1454,8 +1632,8 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", "for_package": 2, "datafile_resource": 18, "extracted_requirement": "pytest; extra == \"tests\"", @@ -1476,8 +1654,8 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa", "for_package": 2, "datafile_resource": 18, "extracted_requirement": "pytest-asyncio; extra == \"tests\"", diff --git a/scanpipe/tests/data/asgiref-3.3.0_load_inventory_expected.json b/scanpipe/tests/data/asgiref-3.3.0_load_inventory_expected.json index d0fab40b59..197dabf27e 100644 --- a/scanpipe/tests/data/asgiref-3.3.0_load_inventory_expected.json +++ b/scanpipe/tests/data/asgiref-3.3.0_load_inventory_expected.json @@ -69,8 +69,53 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", "source_packages": [], "extra_data": { @@ -79,8 +124,6 @@ "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -133,8 +176,53 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", "source_packages": [], "extra_data": { @@ -143,8 +231,6 @@ "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -154,10 +240,10 @@ "dependencies": [ { "purl": "pkg:pypi/pytest", - "extracted_requirement": "", + "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -167,10 +253,10 @@ }, { "purl": "pkg:pypi/pytest", - "extracted_requirement": "", + "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -180,10 +266,10 @@ }, { "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": "", + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -193,10 +279,10 @@ }, { "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": "", + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -223,8 +309,11 @@ "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], @@ -235,6 +324,7 @@ "purl": "pkg:pypi/asgiref@3.3.0", "sha1": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -278,20 +368,22 @@ { "purl": "pkg:pypi/pytest", "scope": "tests", + "extra_data": {}, "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "resolved_package": {}, - "extracted_requirement": null + "extracted_requirement": "pytest; extra == \"tests\"" }, { "purl": "pkg:pypi/pytest-asyncio", "scope": "tests", + "extra_data": {}, "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "resolved_package": {}, - "extracted_requirement": null + "extracted_requirement": "pytest-asyncio; extra == \"tests\"" } ], "download_url": null, @@ -415,16 +507,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ], "for_packages": [ @@ -451,8 +582,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], @@ -479,8 +613,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], @@ -507,8 +644,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], @@ -522,7 +662,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/LICENSE", "type": "file", "name": "LICENSE", - "status": "", + "status": "application-package", "tag": "", "extension": "", "md5": "f09eb47206614a4954c51db8a94840fa", @@ -535,49 +675,30 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 100.0, - "category": "Permissive", - "end_line": 27, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 4, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "bsd-new_683.RULE", - "has_unknown": false, - "rule_length": 214, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 214, - "rule_relevance": 100, - "is_license_text": true, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 27, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", + "start_line": 4, + "match_coverage": 100.0, + "matched_length": 214, + "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", + "license_expression": "bsd-new" } ], - "license_expressions": [ - "bsd-new" - ], + "license_clues": [], + "percentage_of_license_text": 95.11, "copyrights": [ { "end_line": 1, @@ -594,7 +715,9 @@ ], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -616,88 +739,48 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 99.0, - "category": "Permissive", - "end_line": 8, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 8, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "bsd-new_89.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 99, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" + "matches": [ + { + "score": 99.0, + "matcher": "2-aho", + "end_line": 8, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 8, + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" }, { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 99.0, - "category": "Permissive", - "end_line": 16, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 16, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "pypi_bsd_license.RULE", - "has_unknown": false, - "rule_length": 5, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 5, - "rule_relevance": 99, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" + "matches": [ + { + "score": 99.0, + "matcher": "2-aho", + "end_line": 16, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 16, + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" } ], - "license_expressions": [ - "bsd-new", - "bsd-new" - ], + "license_clues": [], + "percentage_of_license_text": 0.54, "copyrights": [], "holders": [], "authors": [ @@ -714,6 +797,7 @@ "purl": "pkg:pypi/asgiref@3.3.0", "sha1": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -757,20 +841,22 @@ { "purl": "pkg:pypi/pytest", "scope": "tests", + "extra_data": {}, "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "resolved_package": {}, - "extracted_requirement": null + "extracted_requirement": "pytest; extra == \"tests\"" }, { "purl": "pkg:pypi/pytest-asyncio", "scope": "tests", + "extra_data": {}, "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, "resolved_package": {}, - "extracted_requirement": null + "extracted_requirement": "pytest-asyncio; extra == \"tests\"" } ], "download_url": null, @@ -894,16 +980,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ], "for_packages": [ @@ -917,7 +1042,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/RECORD", "type": "file", "name": "RECORD", - "status": "", + "status": "application-package", "tag": "", "extension": "", "md5": "38e56802a5adcafeae35efc6e3d218ba", @@ -930,13 +1055,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -945,7 +1075,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/WHEEL", "type": "file", "name": "WHEEL", - "status": "", + "status": "application-package", "tag": "", "extension": "", "md5": "5ccc7519eb42f1dfceee6e7d685f1ff5", @@ -958,13 +1088,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -973,7 +1108,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/top_level.txt", "type": "file", "name": "top_level.txt", - "status": "", + "status": "application-package", "tag": "", "extension": ".txt", "md5": "680e61db4d95c8d9501b7a49fa2bf0b2", @@ -986,13 +1121,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1001,7 +1141,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py", "type": "file", "name": "__init__.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "4910b756f4e611055140e80f757d9325", @@ -1014,13 +1154,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1029,7 +1174,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py", "type": "file", "name": "compatibility.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "5231077fd0628314246fcba7817b561e", @@ -1042,13 +1187,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1057,7 +1207,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/current_thread_executor.py", "type": "file", "name": "current_thread_executor.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "b4c45f37055d88dd11b15eb4de51b074", @@ -1070,13 +1220,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1085,7 +1240,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/local.py", "type": "file", "name": "local.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "e4103a2fcd6a3f23a036307c978271d7", @@ -1098,13 +1253,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1113,7 +1273,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/server.py", "type": "file", "name": "server.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "5b7619584de19d8f1a00fb5a43349153", @@ -1126,13 +1286,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1141,7 +1306,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/sync.py", "type": "file", "name": "sync.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "44ec43af7ee367c7d6a5808d37133144", @@ -1154,13 +1319,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1169,7 +1339,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/testing.py", "type": "file", "name": "testing.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "aff31de5fa753643adacf0311aa553f4", @@ -1182,13 +1352,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1197,7 +1372,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/timeout.py", "type": "file", "name": "timeout.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "8114ef1d7c1488ebf3a1766dbd39d427", @@ -1210,54 +1385,37 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ { - "key": "apache-2.0", - "name": "Apache License 2.0", - "owner": "Apache Software Foundation", - "score": 100.0, - "category": "Permissive", - "end_line": 2, - "spdx_url": "https://spdx.org/licenses/Apache-2.0", - "text_url": "http://www.apache.org/licenses/LICENSE-2.0", - "is_unknown": false, - "short_name": "Apache 2.0", - "start_line": 2, - "homepage_url": "http://www.apache.org/licenses/", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "apache-2.0" - ], - "identifier": "apache-2.0_174.RULE", - "has_unknown": false, - "rule_length": 6, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 6, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": true, - "license_expression": "apache-2.0", - "is_license_reference": false, - "referenced_filenames": [] - }, - "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", - "spdx_license_key": "Apache-2.0", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 2, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_174.RULE", + "start_line": 2, + "match_coverage": 100.0, + "matched_length": 6, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_174.RULE", + "license_expression": "apache-2.0" + } + ], + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900", + "license_expression": "apache-2.0" } ], - "license_expressions": [ - "apache-2.0" - ], + "license_clues": [], + "percentage_of_license_text": 1.22, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} @@ -1266,7 +1424,7 @@ "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/wsgi.py", "type": "file", "name": "wsgi.py", - "status": "", + "status": "application-package", "tag": "", "extension": ".py", "md5": "4eed1361d0e454149f95fca85c84f33f", @@ -1279,13 +1437,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0.0, "copyrights": [], "holders": [], "authors": [], "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "emails": [], "urls": [], "extra_data": {} diff --git a/scanpipe/tests/data/asgiref-3.3.0_scanpipe_output.json b/scanpipe/tests/data/asgiref-3.3.0_scanpipe_output.json index 1d9f55551a..366714b794 100644 --- a/scanpipe/tests/data/asgiref-3.3.0_scanpipe_output.json +++ b/scanpipe/tests/data/asgiref-3.3.0_scanpipe_output.json @@ -2,10 +2,13 @@ "headers": [ { "tool_name": "scanpipe", - "tool_version": "32.0.1", + "tool_version": "32.2.0", + "other_tools": [ + "pkg:pypi/scancode-toolkit@32.0.0rc4" + ], "notice": "Generated with ScanCode.io and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied.\nNo content created from ScanCode.io should be considered or used as legal advice.\nConsult an Attorney for any legal advice.\nScanCode.io is a free software code scanning tool from nexB Inc. and others\nlicensed under the Apache License version 2.0.\nScanCode is a trademark of nexB Inc.\nVisit https://github.com/nexB/scancode.io for support and download.\n", - "uuid": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "created_date": "2023-03-01T00:08:21.226Z", + "uuid": "cbd609b2-525a-4052-9860-201b879b20d9", + "created_date": "2023-05-08T04:34:00.013Z", "input_sources": [ { "filename": "asgiref-3.3.0-py3-none-any.whl", @@ -16,16 +19,16 @@ { "pipeline_name": "scan_codebase", "status": "not_started", - "description": "A pipeline to scan a codebase resource with ScanCode-toolkit.\n\nInput files are copied to the project's codebase/ directory and are extracted\nin place before running the scan.\nAlternatively, the code can be manually copied to the project codebase/\ndirectory.", - "uuid": "04149b89-48d3-4f1d-a143-8459693eaf6b", - "created_date": "2023-03-01T00:08:21.228603Z", + "description": "Scan a codebase with ScanCode-toolkit.", + "uuid": "69d0d86d-6462-47db-b933-6638642bbbfc", + "created_date": "2023-05-08T06:34:00.018045+02:00", "scancodeio_version": "", "task_id": null, "task_start_date": null, "task_end_date": null, "task_exitcode": null, "task_output": "", - "log": "2023-03-01 00:08:21.22 Pipeline [scan_codebase] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-03-01 00:08:21.23 Step [extract_archives] starting\n2023-03-01 00:08:21.25 Step [extract_archives] completed in 0.02 seconds\n2023-03-01 00:08:21.25 Step [collect_and_create_codebase_resources] starting\n2023-03-01 00:08:21.46 Step [collect_and_create_codebase_resources] completed in 0.21 seconds\n2023-03-01 00:08:21.46 Step [tag_empty_files] starting\n2023-03-01 00:08:21.46 Step [tag_empty_files] completed in 0.00 seconds\n2023-03-01 00:08:21.46 Step [scan_for_application_packages] starting\n2023-03-01 00:08:24.33 Step [scan_for_application_packages] completed in 2.87 seconds\n2023-03-01 00:08:24.33 Step [scan_for_files] starting\n2023-03-01 00:08:31.11 Step [scan_for_files] completed in 6.78 seconds\n2023-03-01 00:08:31.11 Pipeline completed\n", + "log": "2023-05-08 06:34:00.01 Pipeline [scan_codebase] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-05-08 06:34:00.02 Step [extract_archives] starting\n2023-05-08 06:34:00.04 Step [extract_archives] completed in 0.02 seconds\n2023-05-08 06:34:00.04 Step [collect_and_create_codebase_resources] starting\n2023-05-08 06:34:00.16 Step [collect_and_create_codebase_resources] completed in 0.11 seconds\n2023-05-08 06:34:00.16 Step [tag_empty_files] starting\n2023-05-08 06:34:00.16 Step [tag_empty_files] completed in 0.00 seconds\n2023-05-08 06:34:00.16 Step [scan_for_application_packages] starting\n2023-05-08 06:34:01.88 Step [scan_for_application_packages] completed in 1.72 seconds\n2023-05-08 06:34:01.88 Step [scan_for_files] starting\n2023-05-08 06:34:03.54 Step [scan_for_files] completed in 1.66 seconds\n2023-05-08 06:34:03.54 Pipeline completed\n", "execution_time": null } ], @@ -81,8 +84,53 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", "source_packages": [], "extra_data": { @@ -90,9 +138,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356", - "manifest_path": "", - "contains_source_code": null, + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5", "datasource_id": "", "file_references": [], "missing_resources": [], @@ -146,8 +192,53 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", "source_packages": [], "extra_data": { @@ -155,9 +246,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8", - "manifest_path": "", - "contains_source_code": null, + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9", "datasource_id": "", "file_references": [], "missing_resources": [], @@ -172,8 +261,8 @@ "is_runtime": true, "is_optional": true, "is_resolved": false, - "dependency_uid": "pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356", + "dependency_uid": "pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5", "datafile_path": "asgiref-3.3.0-py3-none-any.whl", "datasource_id": "pypi_wheel", "package_type": "pypi" @@ -185,8 +274,8 @@ "is_runtime": true, "is_optional": true, "is_resolved": false, - "dependency_uid": "pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8", + "dependency_uid": "pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9", "datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", "datasource_id": "pypi_wheel_metadata", "package_type": "pypi" @@ -198,8 +287,8 @@ "is_runtime": true, "is_optional": true, "is_resolved": false, - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5", "datafile_path": "asgiref-3.3.0-py3-none-any.whl", "datasource_id": "pypi_wheel", "package_type": "pypi" @@ -211,8 +300,8 @@ "is_runtime": true, "is_optional": true, "is_resolved": false, - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9", "datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", "datasource_id": "pypi_wheel_metadata", "package_type": "pypi" @@ -232,15 +321,18 @@ "sha256": "a5098bc870b80e7b872bff60bb363c7f2c2c89078759f6c47b53ff8c525a152e", "sha512": "", "mime_type": "application/zip", - "file_type": "Zip archive data, at least v2.0 to extract", + "file_type": "Zip archive data, at least v2.0 to extract, compression method=deflate", "programming_language": "", "is_binary": true, "is_text": false, "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], @@ -253,6 +345,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -449,20 +542,59 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356" + "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5" ], "emails": [], "urls": [], @@ -475,7 +607,7 @@ "status": "scanned", "tag": "", "extension": ".whl-extract", - "size": 4096, + "size": 128, "md5": "", "sha1": "", "sha256": "", @@ -488,8 +620,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], @@ -507,7 +642,7 @@ "status": "scanned", "tag": "", "extension": "", - "size": 4096, + "size": 352, "md5": "", "sha1": "", "sha256": "", @@ -520,8 +655,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], @@ -539,7 +677,7 @@ "status": "scanned", "tag": "", "extension": ".dist-info", - "size": 4096, + "size": 224, "md5": "", "sha1": "", "sha256": "", @@ -552,8 +690,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], @@ -584,51 +725,33 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 100.0, - "category": "Permissive", - "end_line": 27, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 4, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "bsd-new_683.RULE", - "has_unknown": false, - "rule_length": 214, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 214, - "rule_relevance": 100, - "is_license_text": true, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 27, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", + "start_line": 4, + "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 214, + "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", + "license_expression": "bsd-new" } ], - "license_expressions": [ - "bsd-new" - ], - "compliance_alert": "", + "license_clues": [], + "percentage_of_license_text": 95.11, + "compliance_alert": "missing", "copyrights": [ { "end_line": 1, @@ -646,7 +769,7 @@ "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -672,8 +795,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], @@ -686,6 +812,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -882,20 +1009,59 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -913,7 +1079,7 @@ "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", "sha512": "", - "mime_type": "application/csv", + "mime_type": "text/csv", "file_type": "CSV text", "programming_language": "", "is_binary": false, @@ -921,31 +1087,34 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} }, { - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/top_level.txt", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/WHEEL", "type": "file", - "name": "top_level.txt", + "name": "WHEEL", "status": "scanned", "tag": "", - "extension": ".txt", - "size": 8, - "md5": "680e61db4d95c8d9501b7a49fa2bf0b2", - "sha1": "612390bd0d0227c009f9c99b479878adf7ac2f23", - "sha256": "6e89108c2cf0c0446174188f76f60465ae1c1f14f83427807df40d52a27cb2c8", + "extension": "", + "size": 92, + "md5": "5ccc7519eb42f1dfceee6e7d685f1ff5", + "sha1": "ddd91bc89b15fc5c66e0fa259392955c74ba041f", + "sha256": "11546323af45e6a5639bf620a9c4d73e74c0bf705f494af4595007b923f75e8a", "sha512": "", "mime_type": "text/plain", "file_type": "ASCII text", @@ -955,31 +1124,34 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} }, { - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/WHEEL", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/top_level.txt", "type": "file", - "name": "WHEEL", + "name": "top_level.txt", "status": "scanned", "tag": "", - "extension": "", - "size": 92, - "md5": "5ccc7519eb42f1dfceee6e7d685f1ff5", - "sha1": "ddd91bc89b15fc5c66e0fa259392955c74ba041f", - "sha256": "11546323af45e6a5639bf620a9c4d73e74c0bf705f494af4595007b923f75e8a", + "extension": ".txt", + "size": 8, + "md5": "680e61db4d95c8d9501b7a49fa2bf0b2", + "sha1": "612390bd0d0227c009f9c99b479878adf7ac2f23", + "sha256": "6e89108c2cf0c0446174188f76f60465ae1c1f14f83427807df40d52a27cb2c8", "sha512": "", "mime_type": "text/plain", "file_type": "ASCII text", @@ -989,65 +1161,71 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} }, { - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py", "type": "file", - "name": "compatibility.py", + "name": "__init__.py", "status": "scanned", "tag": "", "extension": ".py", - "size": 1598, - "md5": "5231077fd0628314246fcba7817b561e", - "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", - "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", + "size": 22, + "md5": "4910b756f4e611055140e80f757d9325", + "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", + "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", "sha512": "", - "mime_type": "text/x-script.python", - "file_type": "Python script, ASCII text executable", + "mime_type": "text/plain", + "file_type": "ASCII text", "programming_language": "Python", "is_binary": false, "is_text": true, "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} }, { - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/current_thread_executor.py", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py", "type": "file", - "name": "current_thread_executor.py", + "name": "compatibility.py", "status": "scanned", "tag": "", "extension": ".py", - "size": 2974, - "md5": "b4c45f37055d88dd11b15eb4de51b074", - "sha1": "aacf7e5e2e5ba78ccfb67fa10e9e6b22c3935c9b", - "sha256": "ddd445b778c097fc75c2bf69ad964cbadd3bd6999d1dd2306d39d401855e8e3e", + "size": 1598, + "md5": "5231077fd0628314246fcba7817b561e", + "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", + "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", "sha512": "", "mime_type": "text/x-script.python", "file_type": "Python script, ASCII text executable", @@ -1057,49 +1235,55 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} }, { - "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py", + "path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref/current_thread_executor.py", "type": "file", - "name": "__init__.py", + "name": "current_thread_executor.py", "status": "scanned", "tag": "", "extension": ".py", - "size": 22, - "md5": "4910b756f4e611055140e80f757d9325", - "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", - "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", + "size": 2974, + "md5": "b4c45f37055d88dd11b15eb4de51b074", + "sha1": "aacf7e5e2e5ba78ccfb67fa10e9e6b22c3935c9b", + "sha256": "ddd445b778c097fc75c2bf69ad964cbadd3bd6999d1dd2306d39d401855e8e3e", "sha512": "", - "mime_type": "text/plain", - "file_type": "ASCII text", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", "programming_language": "Python", "is_binary": false, "is_text": true, "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -1125,15 +1309,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -1159,15 +1346,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -1193,15 +1383,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -1227,15 +1420,18 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], @@ -1261,57 +1457,39 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ { - "key": "apache-2.0", - "name": "Apache License 2.0", - "owner": "Apache Software Foundation", - "score": 100.0, - "category": "Permissive", - "end_line": 2, - "spdx_url": "https://spdx.org/licenses/Apache-2.0", - "text_url": "http://www.apache.org/licenses/LICENSE-2.0", - "is_unknown": false, - "short_name": "Apache 2.0", - "start_line": 2, - "homepage_url": "http://www.apache.org/licenses/", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "apache-2.0" - ], - "identifier": "apache-2.0_174.RULE", - "has_unknown": false, - "rule_length": 6, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 6, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": true, - "license_expression": "apache-2.0", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "# under the Apache 2.0 license. You may see the original project at", - "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", - "spdx_license_key": "Apache-2.0", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 2, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_174.RULE", + "start_line": 2, + "matched_text": "# under the Apache 2.0 license. You may see the original project at", + "match_coverage": 100.0, + "matched_length": 6, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_174.RULE", + "license_expression": "apache-2.0" + } + ], + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900", + "license_expression": "apache-2.0" } ], - "license_expressions": [ - "apache-2.0" - ], - "compliance_alert": "", + "license_clues": [], + "percentage_of_license_text": 1.22, + "compliance_alert": "missing", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [ @@ -1353,19 +1531,23 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "compliance_alert": "", "copyrights": [], "holders": [], "authors": [], "package_data": [], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8" + "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9" ], "emails": [], "urls": [], "extra_data": {} } - ] + ], + "relations": [] } \ No newline at end of file diff --git a/scanpipe/tests/data/asgiref-3.3.0_toolkit_scan.json b/scanpipe/tests/data/asgiref-3.3.0_toolkit_scan.json index 6aa541c3ee..743f688c8e 100644 --- a/scanpipe/tests/data/asgiref-3.3.0_toolkit_scan.json +++ b/scanpipe/tests/data/asgiref-3.3.0_toolkit_scan.json @@ -2,93 +2,40 @@ "headers": [ { "tool_name": "scancode-toolkit", - "tool_version": "31.0.0b3", + "tool_version": "32.0.0rc4", "options": { "input": [ - "codebase/" + "/tmp/tmp1kvnzy78/projects/asgiref-4c7f2e2e/codebase" ], "--copyright": true, "--info": true, - "--json-pp": "/home/jono/Desktop/asgiref-3.3.0-py-none-clip.json", + "--json-pp": "scancode.io/scanpipe/tests/data/asgiref-3.3.0_toolkit_scan.json", "--license": true, "--package": true, - "--processes": "4" + "--processes": "-1", + "--verbose": true }, "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2022-05-10T191738.719041", - "end_timestamp": "2022-05-10T191741.404391", - "output_format_version": "2.0.0", - "duration": 2.68536114692688, + "start_timestamp": "2023-05-08T043403.919268", + "end_timestamp": "2023-05-08T043407.453871", + "output_format_version": "3.0.0", + "duration": 3.534606695175171, "message": null, "errors": [], "warnings": [], "extra_data": { "system_environment": { - "operating_system": "linux", + "operating_system": "mac", "cpu_architecture": "64", - "platform": "Linux-5.4.0-109-generic-x86_64-with-glibc2.27", - "platform_version": "#123~18.04.1-Ubuntu SMP Fri Apr 8 09:48:52 UTC 2022", - "python_version": "3.9.12 (main, Apr 16 2022, 19:31:36) \n[GCC 7.5.0]" + "platform": "macOS-13.3.1-arm64-arm-64bit", + "platform_version": "Darwin Kernel Version 22.4.0: Mon Mar 6 20:59:28 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6000", + "python_version": "3.10.10 (v3.10.10:aad5f6a891, Feb 7 2023, 08:47:40) [Clang 13.0.0 (clang-1300.0.29.30)]" }, - "spdx_license_list_version": "3.16", + "spdx_license_list_version": "3.20", "files_count": 15 } } ], - "dependencies": [ - { - "purl": "pkg:pypi/pytest", - "extracted_requirement": null, - "scope": "tests", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uid": "pkg:pypi/pytest?uuid=2c09a89c-6c38-4029-bd79-6a863adc6287", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=67cec7fe-24c6-47a3-9881-6ddeb8b1ac83", - "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl", - "datasource_id": "pypi_wheel" - }, - { - "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": null, - "scope": "tests", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=f92b5fa7-4746-4e9a-b7bc-a56ee6ff7ac6", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=67cec7fe-24c6-47a3-9881-6ddeb8b1ac83", - "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl", - "datasource_id": "pypi_wheel" - }, - { - "purl": "pkg:pypi/pytest", - "extracted_requirement": null, - "scope": "tests", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uid": "pkg:pypi/pytest?uuid=cb69cd49-eb88-4237-8497-ad675a175798", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e6474d12-5040-4c97-b9bc-eaaaf79e4816", - "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", - "datasource_id": "pypi_wheel_metadata" - }, - { - "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": null, - "scope": "tests", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=52eb33ff-8a5b-4c5b-a059-296ca3a5cb7f", - "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e6474d12-5040-4c97-b9bc-eaaaf79e4816", - "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", - "datasource_id": "pypi_wheel_metadata" - } - ], "packages": [ { "type": "pypi", @@ -134,13 +81,53 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new AND bsd-new", - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_89.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "matched_text": "license BSD" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" + }, + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "pypi_bsd_license.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "matched_text": "['License :: OSI Approved :: BSD License']" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": null, "source_packages": [], "extra_data": { @@ -151,7 +138,7 @@ "repository_homepage_url": "https://pypi.org/project/asgiref", "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=67cec7fe-24c6-47a3-9881-6ddeb8b1ac83", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=3fea6fce-008f-4b3e-aa38-ab6317f51260", "datafile_paths": [ "codebase/asgiref-3.3.0-py3-none-any.whl" ], @@ -204,13 +191,53 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new AND bsd-new", - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_89.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "matched_text": "license BSD" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" + }, + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "pypi_bsd_license.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "matched_text": "['License :: OSI Approved :: BSD License']" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": null, "source_packages": [], "extra_data": { @@ -221,7 +248,7 @@ "repository_homepage_url": "https://pypi.org/project/asgiref", "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e6474d12-5040-4c97-b9bc-eaaaf79e4816", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11", "datafile_paths": [ "codebase/asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA" ], @@ -231,6 +258,86 @@ "purl": "pkg:pypi/asgiref@3.3.0" } ], + "dependencies": [ + { + "purl": "pkg:pypi/pytest", + "extracted_requirement": "pytest; extra == \"tests\"", + "scope": "tests", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/pytest?uuid=bf865e81-8653-4620-adf6-1b6004eb1107", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=3fea6fce-008f-4b3e-aa38-ab6317f51260", + "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl", + "datasource_id": "pypi_wheel" + }, + { + "purl": "pkg:pypi/pytest-asyncio", + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", + "scope": "tests", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=23012364-0d0b-4ac1-8df0-b76ec5cf1543", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=3fea6fce-008f-4b3e-aa38-ab6317f51260", + "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl", + "datasource_id": "pypi_wheel" + }, + { + "purl": "pkg:pypi/pytest", + "extracted_requirement": "pytest; extra == \"tests\"", + "scope": "tests", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/pytest?uuid=ec885665-fcd5-4240-b400-94e0c28b52bf", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11", + "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", + "datasource_id": "pypi_wheel_metadata" + }, + { + "purl": "pkg:pypi/pytest-asyncio", + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", + "scope": "tests", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=61e9d8cc-0f71-4ea9-9796-538be428935e", + "for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11", + "datafile_path": "codebase/asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA", + "datasource_id": "pypi_wheel_metadata" + } + ], + "license_detections": [ + { + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900", + "license_expression": "apache-2.0", + "detection_count": 1 + }, + { + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", + "license_expression": "bsd-new", + "detection_count": 1 + }, + { + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new", + "detection_count": 1 + }, + { + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new", + "detection_count": 1 + } + ], "files": [ { "path": "codebase", @@ -252,14 +359,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 15, "dirs_count": 3, "size_count": 74520, @@ -272,12 +381,12 @@ "base_name": "asgiref-3.3.0-py3-none-any", "extension": ".whl", "size": 19948, - "date": "2022-05-10", + "date": "2023-05-08", "sha1": "c03f67211a311b13d1294ac8af7cb139ee34c4f9", "md5": "5bce1df6dedc53a41a9a6b40d7b1699e", "sha256": "a5098bc870b80e7b872bff60bb363c7f2c2c89078759f6c47b53ff8c525a152e", "mime_type": "application/zip", - "file_type": "Zip archive data, at least v2.0 to extract", + "file_type": "Zip archive data, at least v2.0 to extract, compression method=deflate", "programming_language": null, "is_binary": true, "is_text": false, @@ -285,12 +394,6 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], - "percentage_of_license_text": 0, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [ { "type": "pypi", @@ -336,13 +439,53 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new AND bsd-new", - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_89.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "matched_text": "license BSD" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" + }, + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "pypi_bsd_license.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "matched_text": "['License :: OSI Approved :: BSD License']" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": null, "source_packages": [], "file_references": [ @@ -481,21 +624,23 @@ "dependencies": [ { "purl": "pkg:pypi/pytest", - "extracted_requirement": null, + "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, - "resolved_package": {} + "resolved_package": {}, + "extra_data": {} }, { "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": null, + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, - "resolved_package": {} + "resolved_package": {}, + "extra_data": {} } ], "repository_homepage_url": "https://pypi.org/project/asgiref", @@ -506,8 +651,16 @@ } ], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=67cec7fe-24c6-47a3-9881-6ddeb8b1ac83" + "pkg:pypi/asgiref@3.3.0?uuid=3fea6fce-008f-4b3e-aa38-ab6317f51260" ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -533,14 +686,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 14, "dirs_count": 2, "size_count": 54572, @@ -566,14 +721,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 9, "dirs_count": 0, "size_count": 43047, @@ -599,14 +756,18 @@ "is_media": false, "is_source": true, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -632,14 +793,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -665,14 +830,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -698,14 +867,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -731,14 +904,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -764,14 +941,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -797,14 +978,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -830,55 +1015,37 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [ + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ { - "key": "apache-2.0", - "score": 100.0, - "name": "Apache License 2.0", - "short_name": "Apache 2.0", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "Apache Software Foundation", - "homepage_url": "http://www.apache.org/licenses/", - "text_url": "http://www.apache.org/licenses/LICENSE-2.0", - "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml", - "spdx_license_key": "Apache-2.0", - "spdx_url": "https://spdx.org/licenses/Apache-2.0", - "start_line": 2, - "end_line": 2, - "matched_rule": { - "identifier": "apache-2.0_174.RULE", - "license_expression": "apache-2.0", - "licenses": [ - "apache-2.0" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": true, - "is_license_reference": false, - "is_license_tag": false, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 6, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100 - } + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 2, + "matched_length": 6, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_174.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_174.RULE" + } + ], + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900" } ], - "license_expressions": [ - "apache-2.0" - ], + "license_clues": [], "percentage_of_license_text": 1.22, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -904,14 +1071,18 @@ "is_media": false, "is_source": true, "is_script": true, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -937,14 +1108,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 5, "dirs_count": 0, "size_count": 11525, @@ -970,49 +1143,33 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ { - "key": "bsd-new", - "score": 100.0, - "name": "BSD-3-Clause", - "short_name": "BSD-3-Clause", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "Regents of the University of California", - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "spdx_license_key": "BSD-3-Clause", - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "start_line": 4, - "end_line": 27, - "matched_rule": { - "identifier": "bsd-new_683.RULE", - "license_expression": "bsd-new", - "licenses": [ - "bsd-new" - ], - "referenced_filenames": [], - "is_license_text": true, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": false, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 214, - "matched_length": 214, - "match_coverage": 100.0, - "rule_relevance": 100 - } + "license_expression": "bsd-new", + "matches": [ + { + "score": 100.0, + "start_line": 4, + "end_line": 27, + "matched_length": 214, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_683.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE" + } + ], + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d" } ], - "license_expressions": [ - "bsd-new" - ], + "license_clues": [], "percentage_of_license_text": 95.11, "copyrights": [ { @@ -1029,8 +1186,6 @@ } ], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -1056,98 +1211,6 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ - { - "key": "bsd-new", - "score": 99.0, - "name": "BSD-3-Clause", - "short_name": "BSD-3-Clause", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "Regents of the University of California", - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "spdx_license_key": "BSD-3-Clause", - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "start_line": 8, - "end_line": 8, - "matched_rule": { - "identifier": "bsd-new_89.RULE", - "license_expression": "bsd-new", - "licenses": [ - "bsd-new" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 99 - } - }, - { - "key": "bsd-new", - "score": 99.0, - "name": "BSD-3-Clause", - "short_name": "BSD-3-Clause", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "Regents of the University of California", - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "spdx_license_key": "BSD-3-Clause", - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "start_line": 16, - "end_line": 16, - "matched_rule": { - "identifier": "pypi_bsd_license.RULE", - "license_expression": "bsd-new", - "licenses": [ - "bsd-new" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 5, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 99 - } - } - ], - "license_expressions": [ - "bsd-new", - "bsd-new" - ], - "percentage_of_license_text": 0.54, - "copyrights": [], - "holders": [], - "authors": [ - { - "author": "Django Software Foundation", - "start_line": 6, - "end_line": 6 - } - ], "package_data": [ { "type": "pypi", @@ -1193,13 +1256,53 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new AND bsd-new", - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_89.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "matched_text": "license BSD" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" + }, + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "bsd-new", + "rule_identifier": "pypi_bsd_license.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "matched_text": "['License :: OSI Approved :: BSD License']" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": null, "source_packages": [], "file_references": [ @@ -1338,21 +1441,23 @@ "dependencies": [ { "purl": "pkg:pypi/pytest", - "extracted_requirement": null, + "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, - "resolved_package": {} + "resolved_package": {}, + "extra_data": {} }, { "purl": "pkg:pypi/pytest-asyncio", - "extracted_requirement": null, + "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "is_runtime": true, - "is_optional": false, + "is_optional": true, "is_resolved": false, - "resolved_package": {} + "resolved_package": {}, + "extra_data": {} } ], "repository_homepage_url": "https://pypi.org/project/asgiref", @@ -1363,7 +1468,58 @@ } ], "for_packages": [ - "pkg:pypi/asgiref@3.3.0?uuid=e6474d12-5040-4c97-b9bc-eaaaf79e4816" + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 8, + "end_line": 8, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "bsd-new", + "rule_identifier": "bsd-new_89.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" + }, + { + "license_expression": "bsd-new", + "matches": [ + { + "score": 99.0, + "start_line": 16, + "end_line": 16, + "matched_length": 5, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "bsd-new", + "rule_identifier": "pypi_bsd_license.RULE", + "rule_relevance": 99, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" + } + ], + "license_clues": [], + "percentage_of_license_text": 0.54, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Django Software Foundation", + "start_line": 6, + "end_line": 6 + } ], "files_count": 0, "dirs_count": 0, @@ -1381,7 +1537,7 @@ "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", "md5": "38e56802a5adcafeae35efc6e3d218ba", "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", - "mime_type": "application/csv", + "mime_type": "text/csv", "file_type": "CSV text", "programming_language": null, "is_binary": false, @@ -1390,14 +1546,18 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -1423,14 +1583,18 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -1456,14 +1620,18 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [ + "pkg:pypi/asgiref@3.3.0?uuid=b8a0a7de-6939-401c-8d75-a1d7474c6e11" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, diff --git a/scanpipe/tests/data/asgiref-3.3.0_walk_test_fixtures.json b/scanpipe/tests/data/asgiref-3.3.0_walk_test_fixtures.json index ca97770f6a..59657ffe6b 100644 --- a/scanpipe/tests/data/asgiref-3.3.0_walk_test_fixtures.json +++ b/scanpipe/tests/data/asgiref-3.3.0_walk_test_fixtures.json @@ -1,10 +1,10 @@ [ { "model": "scanpipe.project", - "pk": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "pk": "cbd609b2-525a-4052-9860-201b879b20d9", "fields": { "extra_data": {}, - "created_date": "2023-03-01T00:08:21.226Z", + "created_date": "2023-05-08T04:34:00.013Z", "name": "asgiref", "work_directory": "/tmp/tmp1kvnzy78/projects/asgiref-4c7f2e2e", "input_sources": { @@ -15,74 +15,40 @@ }, { "model": "scanpipe.run", - "pk": "04149b89-48d3-4f1d-a143-8459693eaf6b", + "pk": "69d0d86d-6462-47db-b933-6638642bbbfc", "fields": { "task_id": null, "task_start_date": null, "task_end_date": null, "task_exitcode": null, "task_output": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "pipeline_name": "scan_codebase", - "created_date": "2023-03-01T00:08:21.228Z", + "created_date": "2023-05-08T04:34:00.018Z", "scancodeio_version": "", - "description": "A pipeline to scan a codebase resource with ScanCode-toolkit.\n\nInput files are copied to the project's codebase/ directory and are extracted\nin place before running the scan.\nAlternatively, the code can be manually copied to the project codebase/\ndirectory.", + "description": "Scan a codebase with ScanCode-toolkit.", "current_step": "", - "log": "2023-03-01 00:08:21.22 Pipeline [scan_codebase] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] starting\n2023-03-01 00:08:21.23 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-03-01 00:08:21.23 Step [extract_archives] starting\n2023-03-01 00:08:21.25 Step [extract_archives] completed in 0.02 seconds\n2023-03-01 00:08:21.25 Step [collect_and_create_codebase_resources] starting\n2023-03-01 00:08:21.46 Step [collect_and_create_codebase_resources] completed in 0.21 seconds\n2023-03-01 00:08:21.46 Step [tag_empty_files] starting\n2023-03-01 00:08:21.46 Step [tag_empty_files] completed in 0.00 seconds\n2023-03-01 00:08:21.46 Step [scan_for_application_packages] starting\n2023-03-01 00:08:24.33 Step [scan_for_application_packages] completed in 2.87 seconds\n2023-03-01 00:08:24.33 Step [scan_for_files] starting\n2023-03-01 00:08:31.11 Step [scan_for_files] completed in 6.78 seconds\n2023-03-01 00:08:31.11 Pipeline completed\n" + "log": "2023-05-08 06:34:00.01 Pipeline [scan_codebase] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] starting\n2023-05-08 06:34:00.02 Step [copy_inputs_to_codebase_directory] completed in 0.00 seconds\n2023-05-08 06:34:00.02 Step [extract_archives] starting\n2023-05-08 06:34:00.04 Step [extract_archives] completed in 0.02 seconds\n2023-05-08 06:34:00.04 Step [collect_and_create_codebase_resources] starting\n2023-05-08 06:34:00.16 Step [collect_and_create_codebase_resources] completed in 0.11 seconds\n2023-05-08 06:34:00.16 Step [tag_empty_files] starting\n2023-05-08 06:34:00.16 Step [tag_empty_files] completed in 0.00 seconds\n2023-05-08 06:34:00.16 Step [scan_for_application_packages] starting\n2023-05-08 06:34:01.88 Step [scan_for_application_packages] completed in 1.72 seconds\n2023-05-08 06:34:01.88 Step [scan_for_files] starting\n2023-05-08 06:34:03.54 Step [scan_for_files] completed in 1.66 seconds\n2023-05-08 06:34:03.54 Pipeline completed\n" } }, { "model": "scanpipe.codebaseresource", "pk": 1, - "fields": { - "md5": "", - "sha1": "", - "sha256": "", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0.whl-extract", - "rootfs_path": "", - "status": "scanned", - "size": 4096, - "tag": "", - "type": "directory", - "name": "asgiref-3.3.0-py3-none-any.whl-extract", - "extension": ".whl-extract", - "programming_language": "", - "mime_type": "", - "file_type": "", - "is_binary": false, - "is_text": false, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } - }, - { - "model": "scanpipe.codebaseresource", - "pk": 2, "fields": { "md5": "5bce1df6dedc53a41a9a6b40d7b1699e", "sha1": "c03f67211a311b13d1294ac8af7cb139ee34c4f9", "sha256": "a5098bc870b80e7b872bff60bb363c7f2c2c89078759f6c47b53ff8c525a152e", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl", @@ -95,7 +61,7 @@ "extension": ".whl", "programming_language": "", "mime_type": "application/zip", - "file_type": "Zip archive data, at least v2.0 to extract", + "file_type": "Zip archive data, at least v2.0 to extract, compression method=deflate", "is_binary": true, "is_text": false, "is_archive": true, @@ -110,6 +76,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -306,20 +273,99 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ] } }, + { + "model": "scanpipe.codebaseresource", + "pk": 2, + "fields": { + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0.whl-extract", + "rootfs_path": "", + "status": "scanned", + "size": 128, + "tag": "", + "type": "directory", + "name": "asgiref-3.3.0-py3-none-any.whl-extract", + "extension": ".whl-extract", + "programming_language": "", + "mime_type": "", + "file_type": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_key_file": false, + "is_media": false, + "compliance_alert": "", + "package_data": [] + } + }, { "model": "scanpipe.codebaseresource", "pk": 3, @@ -329,18 +375,21 @@ "sha256": "", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref", "rootfs_path": "", "status": "scanned", - "size": 4096, + "size": 352, "tag": "", "type": "directory", "name": "asgiref", @@ -366,18 +415,21 @@ "sha256": "", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info", "rootfs_path": "", "status": "scanned", - "size": 4096, + "size": 224, "tag": "", "type": "directory", "name": "asgiref-3.3.0.dist-info", @@ -403,12 +455,15 @@ "sha256": "fa4651a3b79201a4dc44a4096cd49ec8f427e912ea0ee05c666357b413a8afe7", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref/sync.py", @@ -435,26 +490,29 @@ "model": "scanpipe.codebaseresource", "pk": 6, "fields": { - "md5": "aff31de5fa753643adacf0311aa553f4", - "sha1": "534de2315197b14d0571edc5ed3b3b8ceade0d24", - "sha256": "ddbc8d455eceb68fc583c67e7c4ad0277c867fb39095c51ec5b37f70342e8334", + "md5": "5231077fd0628314246fcba7817b561e", + "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", + "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], - "path": "asgiref-3.3.0.whl-extract/asgiref/testing.py", + "path": "asgiref-3.3.0.whl-extract/asgiref/compatibility.py", "rootfs_path": "", "status": "scanned", - "size": 3119, + "size": 1598, "tag": "", "type": "file", - "name": "testing.py", + "name": "compatibility.py", "extension": ".py", "programming_language": "Python", "mime_type": "text/x-script.python", @@ -477,12 +535,15 @@ "sha256": "885267fee0fea687875a02ceb929ca095312d47aaa57e20e4ce382f397caaf4d", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref/server.py", @@ -508,55 +569,21 @@ { "model": "scanpipe.codebaseresource", "pk": 8, - "fields": { - "md5": "5231077fd0628314246fcba7817b561e", - "sha1": "9c74e64e9a71903bb227907ea1806eac77e52434", - "sha256": "3151f66c476208c3154cb6c4fb557a2a253bab82f0ab33fb3c8b9f7976be9e33", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0.whl-extract/asgiref/compatibility.py", - "rootfs_path": "", - "status": "scanned", - "size": 1598, - "tag": "", - "type": "file", - "name": "compatibility.py", - "extension": ".py", - "programming_language": "Python", - "mime_type": "text/x-script.python", - "file_type": "Python script, ASCII text executable", - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } - }, - { - "model": "scanpipe.codebaseresource", - "pk": 9, "fields": { "md5": "e4103a2fcd6a3f23a036307c978271d7", "sha1": "0de5075d1ce4a1a17d70ad6ee523e3d947074899", "sha256": "ee0fcf4a8e6fa9df8a4643bb48e82892d496afce44b6c8b8aea2721755545e1c", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref/local.py", @@ -581,19 +608,22 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 10, + "pk": 9, "fields": { "md5": "b4c45f37055d88dd11b15eb4de51b074", "sha1": "aacf7e5e2e5ba78ccfb67fa10e9e6b22c3935c9b", "sha256": "ddd445b778c097fc75c2bf69ad964cbadd3bd6999d1dd2306d39d401855e8e3e", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref/current_thread_executor.py", @@ -618,61 +648,43 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 11, + "pk": 10, "fields": { "md5": "8114ef1d7c1488ebf3a1766dbd39d427", "sha1": "361968f116e8ff9156511bf22f6aa04426f0c540", "sha256": "126c3e3a8a75a517d2739612304607804cf5f34da63fa25d03a6f11f7edb6f2f", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [ + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ { - "key": "apache-2.0", - "name": "Apache License 2.0", - "owner": "Apache Software Foundation", - "score": 100.0, - "category": "Permissive", - "end_line": 2, - "spdx_url": "https://spdx.org/licenses/Apache-2.0", - "text_url": "http://www.apache.org/licenses/LICENSE-2.0", - "is_unknown": false, - "short_name": "Apache 2.0", - "start_line": 2, - "homepage_url": "http://www.apache.org/licenses/", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "apache-2.0" - ], - "identifier": "apache-2.0_174.RULE", - "has_unknown": false, - "rule_length": 6, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 6, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": true, - "license_expression": "apache-2.0", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "# under the Apache 2.0 license. You may see the original project at", - "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", - "spdx_license_key": "Apache-2.0", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 2, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_174.RULE", + "start_line": 2, + "matched_text": "# under the Apache 2.0 license. You may see the original project at", + "match_coverage": 100.0, + "matched_length": 6, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_174.RULE", + "license_expression": "apache-2.0" + } + ], + "identifier": "apache_2_0-5a90b5fa-5d10-5a98-d2a7-ef089c46a900", + "license_expression": "apache-2.0" } ], - "license_expressions": [ - "apache-2.0" - ], + "license_clues": [], + "percentage_of_license_text": 1.22, + "copyrights": [], + "holders": [], + "authors": [], "emails": [], "urls": [ { @@ -707,6 +719,46 @@ "is_archive": false, "is_key_file": false, "is_media": false, + "compliance_alert": "missing", + "package_data": [] + } + }, + { + "model": "scanpipe.codebaseresource", + "pk": 11, + "fields": { + "md5": "4910b756f4e611055140e80f757d9325", + "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", + "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0.whl-extract/asgiref/__init__.py", + "rootfs_path": "", + "status": "scanned", + "size": 22, + "tag": "", + "type": "file", + "name": "__init__.py", + "extension": ".py", + "programming_language": "Python", + "mime_type": "text/plain", + "file_type": "ASCII text", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_key_file": false, + "is_media": false, "compliance_alert": "", "package_data": [] } @@ -714,18 +766,61 @@ { "model": "scanpipe.codebaseresource", "pk": 12, + "fields": { + "md5": "aff31de5fa753643adacf0311aa553f4", + "sha1": "534de2315197b14d0571edc5ed3b3b8ceade0d24", + "sha256": "ddbc8d455eceb68fc583c67e7c4ad0277c867fb39095c51ec5b37f70342e8334", + "sha512": "", + "extra_data": {}, + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "path": "asgiref-3.3.0.whl-extract/asgiref/testing.py", + "rootfs_path": "", + "status": "scanned", + "size": 3119, + "tag": "", + "type": "file", + "name": "testing.py", + "extension": ".py", + "programming_language": "Python", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_key_file": false, + "is_media": false, + "compliance_alert": "", + "package_data": [] + } + }, + { + "model": "scanpipe.codebaseresource", + "pk": 13, "fields": { "md5": "4eed1361d0e454149f95fca85c84f33f", "sha1": "1f06eb4dd6d38b1a3e2a9b9e751744b303c37e0d", "sha256": "f8bd1ea3fb8afddabb10f8efd66796d41446cad51168ef4d3c44b19c973d0ad0", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref/wsgi.py", @@ -750,32 +845,35 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 13, + "pk": 14, "fields": { - "md5": "4910b756f4e611055140e80f757d9325", - "sha1": "91bc786d907bf3ca8b8e6277063107975780f9ca", - "sha256": "30f49b9094bff904a42caeec32515715fe625a56dc48bd7c0e3d9988c0ad4bd7", + "md5": "38e56802a5adcafeae35efc6e3d218ba", + "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", + "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], - "path": "asgiref-3.3.0.whl-extract/asgiref/__init__.py", + "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/RECORD", "rootfs_path": "", "status": "scanned", - "size": 22, + "size": 1073, "tag": "", "type": "file", - "name": "__init__.py", - "extension": ".py", - "programming_language": "Python", - "mime_type": "text/plain", - "file_type": "ASCII text", + "name": "RECORD", + "extension": "", + "programming_language": "", + "mime_type": "text/csv", + "file_type": "CSV text", "is_binary": false, "is_text": true, "is_archive": false, @@ -787,14 +885,40 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 14, + "pk": 15, "fields": { "md5": "f09eb47206614a4954c51db8a94840fa", "sha1": "baf11129ce63c4eef654f39a360b31cfc7d1ac67", "sha256": "b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "policy": null, + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 27, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", + "start_line": 4, + "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 214, + "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", + "license_expression": "bsd-new" + } + ], + "license_clues": [], + "percentage_of_license_text": 95.11, "copyrights": [ { "end_line": 1, @@ -810,50 +934,6 @@ } ], "authors": [], - "licenses": [ - { - "key": "bsd-new", - "name": "BSD-3-Clause", - "owner": "Regents of the University of California", - "score": 100.0, - "category": "Permissive", - "end_line": 27, - "spdx_url": "https://spdx.org/licenses/BSD-3-Clause", - "text_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_unknown": false, - "short_name": "BSD-3-Clause", - "start_line": 4, - "homepage_url": "http://www.opensource.org/licenses/BSD-3-Clause", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "bsd-new" - ], - "identifier": "bsd-new_683.RULE", - "has_unknown": false, - "rule_length": 214, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 214, - "rule_relevance": 100, - "is_license_text": true, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "bsd-new", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. Neither the name of Django nor the names of its contributors may be used\n to endorse or promote products derived from this software without\n specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", - "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-new", - "spdx_license_key": "BSD-3-Clause", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-new.LICENSE" - } - ], - "license_expressions": [ - "bsd-new" - ], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/LICENSE", @@ -872,25 +952,28 @@ "is_archive": false, "is_key_file": false, "is_media": false, - "compliance_alert": "", + "compliance_alert": "missing", "package_data": [] } }, { "model": "scanpipe.codebaseresource", - "pk": 15, + "pk": 16, "fields": { "md5": "5ccc7519eb42f1dfceee6e7d685f1ff5", "sha1": "ddd91bc89b15fc5c66e0fa259392955c74ba041f", "sha256": "11546323af45e6a5639bf620a9c4d73e74c0bf705f494af4595007b923f75e8a", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/WHEEL", @@ -915,19 +998,22 @@ }, { "model": "scanpipe.codebaseresource", - "pk": 16, + "pk": 17, "fields": { "md5": "680e61db4d95c8d9501b7a49fa2bf0b2", "sha1": "612390bd0d0227c009f9c99b479878adf7ac2f23", "sha256": "6e89108c2cf0c0446174188f76f60465ae1c1f14f83427807df40d52a27cb2c8", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/top_level.txt", @@ -950,43 +1036,6 @@ "package_data": [] } }, - { - "model": "scanpipe.codebaseresource", - "pk": 17, - "fields": { - "md5": "38e56802a5adcafeae35efc6e3d218ba", - "sha1": "5854ecf1ad649848d7cda8096d09ac258c888208", - "sha256": "2c1983592aa38f0bfb0afacc73ddc5b46ce10e8e89ceaa9fed1e5fc6361b608d", - "sha512": "", - "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "copyrights": [], - "holders": [], - "authors": [], - "licenses": [], - "license_expressions": [], - "emails": [], - "urls": [], - "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/RECORD", - "rootfs_path": "", - "status": "scanned", - "size": 1073, - "tag": "", - "type": "file", - "name": "RECORD", - "extension": "", - "programming_language": "", - "mime_type": "application/csv", - "file_type": "CSV text", - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_key_file": false, - "is_media": false, - "compliance_alert": "", - "package_data": [] - } - }, { "model": "scanpipe.codebaseresource", "pk": 18, @@ -996,12 +1045,15 @@ "sha256": "70f98f4eb9f6068b192b5464fcdf69e29a8ff09962bfce84bbb052baeee44f33", "sha512": "", "extra_data": {}, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], - "licenses": [], - "license_expressions": [], "emails": [], "urls": [], "path": "asgiref-3.3.0.whl-extract/asgiref-3.3.0.dist-info/METADATA", @@ -1029,6 +1081,7 @@ "sha1": null, "size": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -1225,16 +1278,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "BSD", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, "primary_language": "Python", - "license_expression": "bsd-new AND bsd-new", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/asgiref" + "repository_homepage_url": "https://pypi.org/project/asgiref", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "bsd-new", + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "BSD-3-Clause" } ] } @@ -1258,7 +1350,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "filename": "", "primary_language": "Python", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", @@ -1273,11 +1365,54 @@ "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "parties": [ @@ -1289,10 +1424,10 @@ "email": "foundation@djangoproject.com" } ], - "uuid": "d4227045-439f-41b8-98ff-067c55276b2f", + "uuid": "8fa7433f-c05e-45b3-960d-60a5423327f7", "missing_resources": [], "modified_resources": [], - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=2c03615b-7c34-4676-a219-616b60084356", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=e60b7109-14eb-47af-9568-09b4b630dca5", "keywords": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -1309,7 +1444,7 @@ ], "source_packages": [], "codebase_resources": [ - 2 + 1 ] } }, @@ -1332,7 +1467,7 @@ "Documentation": "https://asgi.readthedocs.io/", "Further Documentation": "https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions" }, - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", "filename": "", "primary_language": "Python", "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", @@ -1347,11 +1482,54 @@ "repository_download_url": "https://pypi.org/packages/source/a/asgiref/asgiref-3.3.0.tar.gz", "api_data_url": "https://pypi.org/pypi/asgiref/3.3.0/json", "copyright": "", - "license_expression": "bsd-new AND bsd-new", - "declared_license": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", + "holder": "", + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", + "start_line": 1, + "matched_text": "license BSD", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 99.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: BSD License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", + "license_expression": "bsd-new" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'BSD', 'classifiers': ['License :: OSI Approved :: BSD License']}", "notice_text": "", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "parties": [ @@ -1363,10 +1541,10 @@ "email": "foundation@djangoproject.com" } ], - "uuid": "92213ebf-c2f0-4bd6-9d4a-38ea138d2f63", + "uuid": "bef22e34-f8c3-463d-9d3e-46a55c3170e8", "missing_resources": [], "modified_resources": [], - "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=93d418ad-7f03-4fad-b64a-ac383131b7a8", + "package_uid": "pkg:pypi/asgiref@3.3.0?uuid=f66d2b7c-233e-4a6a-93d8-1d17732704e9", "keywords": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -1383,20 +1561,20 @@ ], "source_packages": [], "codebase_resources": [ - 14, + 15, 18, - 17, + 14, 16, - 15, - 8, - 10, - 13, + 17, + 11, + 6, 9, + 8, 7, 5, - 6, - 11, - 12 + 12, + 10, + 13 ] } }, @@ -1410,10 +1588,10 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest?uuid=ebec93f1-d78e-49ee-a1f5-80c26a0dc32b", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest?uuid=ea2921dd-6dfd-4d20-b018-6d611f2c71e5", "for_package": 1, - "datafile_resource": 2, + "datafile_resource": 1, "extracted_requirement": "pytest; extra == \"tests\"", "scope": "tests", "datasource_id": "pypi_wheel", @@ -1432,10 +1610,10 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=1ea67643-91ab-49af-a05d-d9d3f64506d1", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=cd6e2840-3615-4f33-9e9b-1222026a1b90", "for_package": 1, - "datafile_resource": 2, + "datafile_resource": 1, "extracted_requirement": "pytest-asyncio; extra == \"tests\"", "scope": "tests", "datasource_id": "pypi_wheel", @@ -1454,8 +1632,8 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest?uuid=cd04cbe8-ba3e-412b-9c1d-7eb6a617f1d1", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest?uuid=d5506e2e-5172-4435-93e0-b4929f31d8d7", "for_package": 2, "datafile_resource": 18, "extracted_requirement": "pytest; extra == \"tests\"", @@ -1476,8 +1654,8 @@ "version": "", "qualifiers": "", "subpath": "", - "project": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", - "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=c8e504e9-3581-4b3d-bd9a-ac815d4bd63b", + "project": "cbd609b2-525a-4052-9860-201b879b20d9", + "dependency_uid": "pkg:pypi/pytest-asyncio?uuid=ab7f2ac4-cf40-4717-8d41-067e66bad5aa", "for_package": 2, "datafile_resource": 18, "extracted_requirement": "pytest-asyncio; extra == \"tests\"", diff --git a/scanpipe/tests/data/basic-rootfs_root_filesystems.json b/scanpipe/tests/data/basic-rootfs_root_filesystems.json index e350a3ce9e..d0555047da 100644 --- a/scanpipe/tests/data/basic-rootfs_root_filesystems.json +++ b/scanpipe/tests/data/basic-rootfs_root_filesystems.json @@ -84,8 +84,91 @@ "sha256": "", "sha512": "", "copyright": "Copyright (c) 1998-2016 Free Software Foundation, Inc.\nCopyright (c) 2001 by Pradeep Padala\nCopyright (c) 1994 X Consortium\nCopyright (c) 1980, 1991, 1992, 1993 The Regents of the University of California\nCopyright 1996-2007 by Thomas E. Dickey", - "license_expression": "x11-fsf AND x11-xconsortium AND bsd-new AND x11-fsf", - "declared_license": "", + "holder": "Free Software Foundation, Inc.\nPradeep Padala\nX Consortium\nThe Regents of the University of California\nThomas E. Dickey", + "declared_license_expression": "x11-fsf AND x11-xconsortium AND bsd-new", + "declared_license_expression_spdx": "X11-distribute-modifications-variant AND X11 AND BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 45, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", + "start_line": 23, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, distribute with modifications, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR\nTHE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 200, + "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724", + "license_expression": "x11-fsf" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 70, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", + "start_line": 50, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\nAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-\nTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of the X Consortium shall not\nbe used in advertising or otherwise to promote the sale, use or other deal-\nings in this Software without prior written authorization from the X Consor-\ntium.", + "match_coverage": 100.0, + "matched_length": 201, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", + "license_expression": "x11-xconsortium" + } + ], + "identifier": "x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46", + "license_expression": "x11-xconsortium" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 98, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", + "start_line": 76, + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n3. Neither the name of the University nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\nOR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\nHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\nLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\nOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 213, + "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 127, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-fsf_7.RULE", + "start_line": 105, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 199, + "rule_relevance": 100, + "rule_identifier": "x11-fsf_7.RULE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-c2b8535e-1b81-42d8-945b-b026f349228d", + "license_expression": "x11-fsf" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [ "pkg:deb/ncurses" @@ -94,8 +177,6 @@ "multi_arch": "same" }, "package_uid": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [ @@ -139,8 +220,132 @@ "sha256": "", "sha512": "", "copyright": "Copyright 2013 Jiri Pirko \nCopyright 2014 Andrew Ayer ", - "license_expression": "(lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1) AND (lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1)", - "declared_license": "['LGPL-2.1+', 'LGPL-2.1+', 'LGPL-2.1+']", + "holder": "Jiri Pirko\nAndrew Ayer", + "declared_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "declared_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 7, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 7, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 11, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 11, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 13, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 26, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", + "start_line": 14, + "matched_text": " This program is free software; you can redistribute it and/or modify it\n under the terms of the GNU Lesser General Public License as published\n by the Free Software Foundation; either version 2.1 of the License, or\n (at your option) any later version.\n .\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser\n General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public License\n along with this program; if not, write to the Free Software Foundation,\n Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", + "match_coverage": 100.0, + "matched_length": 117, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", + "start_line": 24, + "matched_text": " You should have received a copy of the GNU Lesser General Public License\n along with this program; if not, write to the Free Software Foundation,\n Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the full text of the GNU Lesser General Public\n License version 2.1 can be found in the file\n `/usr/share/common-licenses/LGPL-2.1'.", + "match_coverage": 100.0, + "matched_length": 64, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", + "license_expression": "lgpl-2.1" + } + ], + "identifier": "lgpl_2_1_plus_and_lgpl_2_1-6a4d01fd-fa99-80b1-0c2c-a69c91c2ad96", + "license_expression": "lgpl-2.1-plus AND lgpl-2.1" + } + ], + "other_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "other_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", + "other_license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 13, + "matched_text": "License: lgpl-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 26, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", + "start_line": 14, + "matched_text": "This program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU Lesser General Public License as published\nby the Free Software Foundation; either version 2.1 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", + "match_coverage": 100.0, + "matched_length": 117, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", + "start_line": 24, + "matched_text": "You should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\nOn Debian systems, the full text of the GNU Lesser General Public\nLicense version 2.1 can be found in the file\n`/usr/share/common-licenses/LGPL-2.1'.", + "match_coverage": 100.0, + "matched_length": 64, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", + "license_expression": "lgpl-2.1" + } + ], + "identifier": "lgpl_2_1_plus_and_lgpl_2_1-1018860f-b475-01e3-bdd4-39bf3444650e", + "license_expression": "lgpl-2.1-plus AND lgpl-2.1" + } + ], + "extracted_license_statement": "['LGPL-2.1+', 'LGPL-2.1+', 'LGPL-2.1+']", "notice_text": "", "source_packages": [ "pkg:deb/libndp" @@ -149,8 +354,6 @@ "multi_arch": "same" }, "package_uid": "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [ @@ -178,8 +381,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -206,8 +412,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -234,8 +443,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -262,8 +474,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -290,8 +505,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -318,8 +536,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -346,8 +567,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -358,6 +582,7 @@ "purl": "pkg:deb/libncurses5", "sha1": null, "type": "deb", + "holder": "Free Software Foundation, Inc.\nPradeep Padala\nX Consortium\nThe Regents of the University of California\nThomas E. Dickey", "sha256": null, "sha512": null, "parties": [], @@ -381,11 +606,93 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": null, "primary_language": null, - "license_expression": "x11-fsf AND x11-xconsortium AND bsd-new AND x11-fsf", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 45, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", + "start_line": 23, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, distribute with modifications, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR\nTHE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 200, + "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724", + "license_expression": "x11-fsf" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 70, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", + "start_line": 50, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\nAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-\nTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of the X Consortium shall not\nbe used in advertising or otherwise to promote the sale, use or other deal-\nings in this Software without prior written authorization from the X Consor-\ntium.", + "match_coverage": 100.0, + "matched_length": 201, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", + "license_expression": "x11-xconsortium" + } + ], + "identifier": "x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46", + "license_expression": "x11-xconsortium" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 98, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", + "start_line": 76, + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n3. Neither the name of the University nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\nOR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\nHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\nLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\nOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 213, + "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 127, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-fsf_7.RULE", + "start_line": 105, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 199, + "rule_relevance": 100, + "rule_identifier": "x11-fsf_7.RULE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-c2b8535e-1b81-42d8-945b-b026f349228d", + "license_expression": "x11-fsf" + } + ], "repository_download_url": null, - "repository_homepage_url": null + "repository_homepage_url": null, + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "x11-fsf AND x11-xconsortium AND bsd-new", + "extracted_license_statement": null, + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "X11-distribute-modifications-variant AND X11 AND BSD-3-Clause" } ], "for_packages": [], @@ -410,8 +717,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -438,8 +748,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -450,6 +763,7 @@ "purl": "pkg:deb/libndp0", "sha1": null, "type": "deb", + "holder": "Jiri Pirko\nAndrew Ayer", "sha256": null, "sha512": null, "parties": [], @@ -473,15 +787,62 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": [ - "LGPL-2.1+", - "LGPL-2.1+", - "LGPL-2.1+" - ], "primary_language": null, - "license_expression": "(lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1) AND (lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1)", + "license_detections": [], "repository_download_url": null, - "repository_homepage_url": null + "repository_homepage_url": null, + "other_license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 13, + "matched_text": "License: lgpl-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 26, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", + "start_line": 14, + "matched_text": "This program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU Lesser General Public License as published\nby the Free Software Foundation; either version 2.1 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", + "match_coverage": 100.0, + "matched_length": 117, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", + "start_line": 24, + "matched_text": "You should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\nOn Debian systems, the full text of the GNU Lesser General Public\nLicense version 2.1 can be found in the file\n`/usr/share/common-licenses/LGPL-2.1'.", + "match_coverage": 100.0, + "matched_length": 64, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", + "license_expression": "lgpl-2.1" + } + ], + "identifier": "lgpl_2_1_plus_and_lgpl_2_1-1018860f-b475-01e3-bdd4-39bf3444650e", + "license_expression": "lgpl-2.1-plus AND lgpl-2.1" + } + ], + "other_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "declared_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "extracted_license_statement": "['LGPL-2.1+', 'LGPL-2.1+', 'LGPL-2.1+']", + "other_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", + "declared_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only" } ], "for_packages": [], @@ -506,8 +867,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -534,8 +898,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -562,8 +929,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -590,8 +960,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -618,8 +991,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -646,8 +1022,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -674,8 +1053,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/cyclonedx/asgiref-3.3.0.bom.json b/scanpipe/tests/data/cyclonedx/asgiref-3.3.0.bom.json index 083eebcf0e..14bad2b134 100644 --- a/scanpipe/tests/data/cyclonedx/asgiref-3.3.0.bom.json +++ b/scanpipe/tests/data/cyclonedx/asgiref-3.3.0.bom.json @@ -13,7 +13,7 @@ ], "component": { "type": "library", - "bom-ref": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "bom-ref": "cbd609b2-525a-4052-9860-201b879b20d9", "name": "asgiref" }, "properties": [ @@ -32,7 +32,7 @@ "description": "ASGI specs, helper code, and adapters\nasgiref\n=======\n\n.. image:: https://api.travis-ci.org/django/asgiref.svg\n :target: https://travis-ci.org/django/asgiref\n\n.. image:: https://img.shields.io/pypi/v/asgiref.svg\n :target: https://pypi.python.org/pypi/asgiref\n\nASGI is a standard for Python asynchronous web apps and servers to communicate\nwith each other, and positioned as an asynchronous successor to WSGI. You can\nread more at https://asgi.readthedocs.io/en/latest/\n\nThis package includes ASGI base libraries, such as:\n\n* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``\n* Server base classes, ``asgiref.server``\n* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``\n\n\nFunction wrappers\n-----------------\n\nThese allow you to wrap or decorate async or sync functions to call them from\nthe other style (so you can call async functions from a synchronous thread,\nor vice-versa).\n\nIn particular:\n\n* AsyncToSync lets a synchronous subthread stop and wait while the async\n function is called on the main thread's event loop, and then control is\n returned to the thread when the async function is finished.\n\n* SyncToAsync lets async code call a synchronous function, which is run in\n a threadpool and control returned to the async coroutine when the synchronous\n function completes.\n\nThe idea is to make it easier to call synchronous APIs from async code and\nasynchronous APIs from synchronous code so it's easier to transition code from\none style to the other. In the case of Channels, we wrap the (synchronous)\nDjango view system with SyncToAsync to allow it to run inside the (asynchronous)\nASGI server.\n\nNote that exactly what threads things run in is very specific, and aimed to\nkeep maximum compatibility with old synchronous code. See\n\"Synchronous code & Threads\" below for a full explanation. By default,\n``sync_to_async`` will run all synchronous code in the program in the same\nthread for safety reasons; you can disable this for more performance with\n``@sync_to_async(thread_sensitive=False)``, but make sure that your code does\nnot rely on anything bound to threads (like database connections) when you do.\n\n\nThreadlocal replacement\n-----------------------\n\nThis is a drop-in replacement for ``threading.local`` that works with both\nthreads and asyncio Tasks. Even better, it will proxy values through from a\ntask-local context to a thread-local context when you use ``sync_to_async``\nto run things in a threadpool, and vice-versa for ``async_to_sync``.\n\nIf you instead want true thread- and task-safety, you can set\n``thread_critical`` on the Local object to ensure this instead.\n\n\nServer base classes\n-------------------\n\nIncludes a ``StatelessServer`` class which provides all the hard work of\nwriting a stateless server (as in, does not handle direct incoming sockets\nbut instead consumes external streams or sockets to work out what is happening).\n\nAn example of such a server would be a chatbot server that connects out to\na central chat server and provides a \"connection scope\" per user chatting to\nit. There's only one actual connection, but the server has to separate things\ninto several scopes for easier writing of the code.\n\nYou can see an example of this being used in `frequensgi `_.\n\n\nWSGI-to-ASGI adapter\n--------------------\n\nAllows you to wrap a WSGI application so it appears as a valid ASGI application.\n\nSimply wrap it around your WSGI application like so::\n\n asgi_application = WsgiToAsgi(wsgi_application)\n\nThe WSGI application will be run in a synchronous threadpool, and the wrapped\nASGI application will be one that accepts ``http`` class messages.\n\nPlease note that not all extended features of WSGI may be supported (such as\nfile handles for incoming POST bodies).\n\n\nDependencies\n------------\n\n``asgiref`` requires Python 3.5 or higher.\n\n\nContributing\n------------\n\nPlease refer to the\n`main Channels contributing docs `_.\n\n\nTesting\n'''''''\n\nTo run tests, make sure you have installed the ``tests`` extra with the package::\n\n cd asgiref/\n pip install -e .[tests]\n pytest\n\n\nBuilding the documentation\n''''''''''''''''''''''''''\n\nThe documentation uses `Sphinx `_::\n\n cd asgiref/docs/\n pip install sphinx\n\nTo build the docs, you can use the default tools::\n\n sphinx-build -b html . _build/html # or `make html`, if you've got make set up\n cd _build/html\n python -m http.server\n\n...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload\nyour documentation changes automatically::\n\n pip install sphinx-autobuild\n sphinx-autobuild . _build/html\n\n\nImplementation Details\n----------------------\n\nSynchronous code & threads\n''''''''''''''''''''''''''\n\nThe ``asgiref.sync`` module provides two wrappers that let you go between\nasynchronous and synchronous code at will, while taking care of the rough edges\nfor you.\n\nUnfortunately, the rough edges are numerous, and the code has to work especially\nhard to keep things in the same thread as much as possible. Notably, the\nrestrictions we are working with are:\n\n* All synchronous code called through ``SyncToAsync`` and marked with\n ``thread_sensitive`` should run in the same thread as each other (and if the\n outer layer of the program is synchronous, the main thread)\n\n* If a thread already has a running async loop, ``AsyncToSync`` can't run things\n on that loop if it's blocked on synchronous code that is above you in the\n call stack.\n\nThe first compromise you get to might be that ``thread_sensitive`` code should\njust run in the same thread and not spawn in a sub-thread, fulfilling the first\nrestriction, but that immediately runs you into the second restriction.\n\nThe only real solution is to essentially have a variant of ThreadPoolExecutor\nthat executes any ``thread_sensitive`` code on the outermost synchronous\nthread - either the main thread, or a single spawned subthread.\n\nThis means you now have two basic states:\n\n* If the outermost layer of your program is synchronous, then all async code\n run through ``AsyncToSync`` will run in a per-call event loop in arbitary\n sub-threads, while all ``thread_sensitive`` code will run in the main thread.\n\n* If the outermost layer of your program is asynchronous, then all async code\n runs on the main thread's event loop, and all ``thread_sensitive`` synchronous\n code will run in a single shared sub-thread.\n\nCruicially, this means that in both cases there is a thread which is a shared\nresource that all ``thread_sensitive`` code must run on, and there is a chance\nthat this thread is currently blocked on its own ``AsyncToSync`` call. Thus,\n``AsyncToSync`` needs to act as an executor for thread code while it's blocking.\n\nThe ``CurrentThreadExecutor`` class provides this functionality; rather than\nsimply waiting on a Future, you can call its ``run_until_future`` method and\nit will run submitted code until that Future is done. This means that code\ninside the call can then run code on your thread.\n\n\nMaintenance and Security\n------------------------\n\nTo report security issues, please contact security@djangoproject.com. For GPG\nsignatures and more security process information, see\nhttps://docs.djangoproject.com/en/dev/internals/security/.\n\nTo report bugs or request new features, please open a new GitHub issue.\n\nThis repository is part of the Channels project. For the shepherd and maintenance team, please see the\n`main Channels readme `_.", "licenses": [ { - "expression": "BSD-3-Clause AND BSD-3-Clause" + "expression": "BSD-3-Clause" } ], "purl": "pkg:pypi/asgiref@3.3.0", @@ -64,7 +64,7 @@ ], "dependencies": [ { - "ref": "4c7f2e2e-0c41-45d2-a6cc-7bbde9a9f440", + "ref": "cbd609b2-525a-4052-9860-201b879b20d9", "dependsOn": [ "pkg:pypi/asgiref@3.3.0" ] diff --git a/scanpipe/tests/data/daglib-0.6.0-py3-none-any.whl_scan_codebase.json b/scanpipe/tests/data/daglib-0.6.0-py3-none-any.whl_scan_codebase.json index 31b5a04a93..31d6bbf595 100644 --- a/scanpipe/tests/data/daglib-0.6.0-py3-none-any.whl_scan_codebase.json +++ b/scanpipe/tests/data/daglib-0.6.0-py3-none-any.whl_scan_codebase.json @@ -65,16 +65,59 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit AND mit", - "declared_license": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: MIT License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", "notice_text": "", "source_packages": [], "extra_data": { "Documentation": "https://mharrisb1.github.io/daglib/" }, "package_uid": "pkg:pypi/daglib@0.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -118,16 +161,59 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit AND mit", - "declared_license": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: MIT License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", "notice_text": "", "source_packages": [], "extra_data": { "Documentation": "https://mharrisb1.github.io/daglib/" }, "package_uid": "pkg:pypi/daglib@0.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -258,8 +344,11 @@ "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -270,6 +359,7 @@ "purl": "pkg:pypi/daglib@0.6.0", "sha1": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -405,16 +495,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "MIT", - "classifiers": [ - "License :: OSI Approved :: MIT License" - ] - }, "primary_language": "Python", - "license_expression": "mit AND mit", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: MIT License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", + "license_expression": "mit" + } + ], "repository_download_url": "https://pypi.org/packages/source/d/daglib/daglib-0.6.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/daglib" + "repository_homepage_url": "https://pypi.org/project/daglib", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" } ], "for_packages": [ @@ -441,8 +570,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -469,8 +601,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -497,8 +632,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -525,50 +663,31 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 19, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 3, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit.LICENSE", - "has_unknown": false, - "rule_length": 161, - "is_license_tag": false, - "match_coverage": 100.0, - "matched_length": 161, - "rule_relevance": 100, - "is_license_text": true, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 19, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "start_line": 3, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", + "match_coverage": 100.0, + "matched_length": 161, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "license_expression": "mit" + } + ], + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 96.99, "copyrights": [ { "end_line": 1, @@ -609,8 +728,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -621,6 +743,7 @@ "purl": "pkg:pypi/daglib@0.6.0", "sha1": null, "type": "pypi", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -756,16 +879,55 @@ ], "source_packages": [], "bug_tracking_url": null, - "declared_license": { - "license": "MIT", - "classifiers": [ - "License :: OSI Approved :: MIT License" - ] - }, "primary_language": "Python", - "license_expression": "mit AND mit", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "start_line": 1, + "matched_text": "['License :: OSI Approved :: MIT License']", + "match_coverage": 100.0, + "matched_length": 5, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", + "license_expression": "mit" + } + ], "repository_download_url": "https://pypi.org/packages/source/d/daglib/daglib-0.6.0.tar.gz", - "repository_homepage_url": "https://pypi.org/project/daglib" + "repository_homepage_url": "https://pypi.org/project/daglib", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "{'license': 'MIT', 'classifiers': ['License :: OSI Approved :: MIT License']}", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" } ], "for_packages": [ @@ -792,8 +954,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -822,8 +987,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -852,8 +1020,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -882,8 +1053,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -912,8 +1086,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/debian_scan_codebase.json b/scanpipe/tests/data/debian_scan_codebase.json index 6227a1f947..f85d03caa5 100644 --- a/scanpipe/tests/data/debian_scan_codebase.json +++ b/scanpipe/tests/data/debian_scan_codebase.json @@ -134,8 +134,91 @@ "sha256": "", "sha512": "", "copyright": "Copyright (c) 1998-2016 Free Software Foundation, Inc.\nCopyright (c) 2001 by Pradeep Padala\nCopyright (c) 1994 X Consortium\nCopyright (c) 1980, 1991, 1992, 1993 The Regents of the University of California\nCopyright 1996-2007 by Thomas E. Dickey", - "license_expression": "x11-fsf AND x11-xconsortium AND bsd-new AND x11-fsf", - "declared_license": "", + "holder": "Free Software Foundation, Inc.\nPradeep Padala\nX Consortium\nThe Regents of the University of California\nThomas E. Dickey", + "declared_license_expression": "x11-fsf AND x11-xconsortium AND bsd-new", + "declared_license_expression_spdx": "X11-distribute-modifications-variant AND X11 AND BSD-3-Clause", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 45, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", + "start_line": 23, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, distribute with modifications, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR\nTHE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 200, + "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724", + "license_expression": "x11-fsf" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 70, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", + "start_line": 50, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\nAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-\nTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of the X Consortium shall not\nbe used in advertising or otherwise to promote the sale, use or other deal-\nings in this Software without prior written authorization from the X Consor-\ntium.", + "match_coverage": 100.0, + "matched_length": 201, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", + "license_expression": "x11-xconsortium" + } + ], + "identifier": "x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46", + "license_expression": "x11-xconsortium" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 98, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", + "start_line": 76, + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n3. Neither the name of the University nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\nOR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\nHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\nLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\nOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGE.", + "match_coverage": 100.0, + "matched_length": 213, + "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", + "license_expression": "bsd-new" + } + ], + "identifier": "bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98", + "license_expression": "bsd-new" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 127, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-fsf_7.RULE", + "start_line": 105, + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the\nsale, use or other dealings in this Software without prior written\nauthorization.", + "match_coverage": 100.0, + "matched_length": 199, + "rule_relevance": 100, + "rule_identifier": "x11-fsf_7.RULE", + "license_expression": "x11-fsf" + } + ], + "identifier": "x11_fsf-c2b8535e-1b81-42d8-945b-b026f349228d", + "license_expression": "x11-fsf" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [ "pkg:deb/ncurses" @@ -178,8 +261,6 @@ ] }, "package_uid": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -221,8 +302,132 @@ "sha256": "", "sha512": "", "copyright": "Copyright 2013 Jiri Pirko \nCopyright 2014 Andrew Ayer ", - "license_expression": "(lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1) AND (lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1)", - "declared_license": "['LGPL-2.1+', 'LGPL-2.1+', 'LGPL-2.1+']", + "holder": "Jiri Pirko\nAndrew Ayer", + "declared_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "declared_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 7, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 7, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 11, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 11, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 13, + "matched_text": "License: LGPL-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 26, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", + "start_line": 14, + "matched_text": " This program is free software; you can redistribute it and/or modify it\n under the terms of the GNU Lesser General Public License as published\n by the Free Software Foundation; either version 2.1 of the License, or\n (at your option) any later version.\n .\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser\n General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public License\n along with this program; if not, write to the Free Software Foundation,\n Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", + "match_coverage": 100.0, + "matched_length": 117, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", + "start_line": 24, + "matched_text": " You should have received a copy of the GNU Lesser General Public License\n along with this program; if not, write to the Free Software Foundation,\n Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the full text of the GNU Lesser General Public\n License version 2.1 can be found in the file\n `/usr/share/common-licenses/LGPL-2.1'.", + "match_coverage": 100.0, + "matched_length": 64, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", + "license_expression": "lgpl-2.1" + } + ], + "identifier": "lgpl_2_1_plus_and_lgpl_2_1-6a4d01fd-fa99-80b1-0c2c-a69c91c2ad96", + "license_expression": "lgpl-2.1-plus AND lgpl-2.1" + } + ], + "other_license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "other_license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", + "other_license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "start_line": 13, + "matched_text": "License: lgpl-2.1+", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 26, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", + "start_line": 14, + "matched_text": "This program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU Lesser General Public License as published\nby the Free Software Foundation; either version 2.1 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", + "match_coverage": 100.0, + "matched_length": 117, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", + "license_expression": "lgpl-2.1-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", + "start_line": 24, + "matched_text": "You should have received a copy of the GNU Lesser General Public License\nalong with this program; if not, write to the Free Software Foundation,\nInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\nOn Debian systems, the full text of the GNU Lesser General Public\nLicense version 2.1 can be found in the file\n`/usr/share/common-licenses/LGPL-2.1'.", + "match_coverage": 100.0, + "matched_length": 64, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", + "license_expression": "lgpl-2.1" + } + ], + "identifier": "lgpl_2_1_plus_and_lgpl_2_1-1018860f-b475-01e3-bdd4-39bf3444650e", + "license_expression": "lgpl-2.1-plus AND lgpl-2.1" + } + ], + "extracted_license_statement": "['LGPL-2.1+', 'LGPL-2.1+', 'LGPL-2.1+']", "notice_text": "", "source_packages": [ "pkg:deb/libndp" @@ -249,8 +454,6 @@ ] }, "package_uid": "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -276,8 +479,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -304,8 +510,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -332,8 +541,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -360,8 +572,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -388,8 +603,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -416,8 +634,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -444,8 +665,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -474,8 +698,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -502,8 +729,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -532,8 +762,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -560,8 +793,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -588,8 +824,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -616,8 +855,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -644,8 +886,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -674,8 +919,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -704,8 +952,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/flume-ng-node-d2d.json b/scanpipe/tests/data/flume-ng-node-d2d.json index b38323d9a2..5f74a0170c 100644 --- a/scanpipe/tests/data/flume-ng-node-d2d.json +++ b/scanpipe/tests/data/flume-ng-node-d2d.json @@ -41,8 +41,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -69,8 +72,11 @@ "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -97,8 +103,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -125,8 +134,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -153,8 +165,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -181,8 +196,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -209,8 +227,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -237,8 +258,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -265,8 +289,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -293,8 +320,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -321,8 +351,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -349,8 +382,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -377,8 +413,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -405,8 +444,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -433,8 +475,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -463,8 +508,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -493,8 +541,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -523,8 +574,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -553,8 +607,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -583,8 +640,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -613,8 +673,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -643,8 +706,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -673,8 +739,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -703,8 +772,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -733,8 +805,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -763,8 +838,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -791,8 +869,11 @@ "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -819,8 +900,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -847,8 +931,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -875,8 +962,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -903,8 +993,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -931,8 +1024,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -959,8 +1055,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -987,8 +1086,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1015,8 +1117,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1043,8 +1148,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1071,8 +1179,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1099,8 +1210,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1127,8 +1241,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1155,8 +1272,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1183,8 +1303,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1211,8 +1334,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1239,8 +1365,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1267,8 +1396,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1295,8 +1427,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1323,8 +1458,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1351,8 +1489,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1379,8 +1520,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1407,8 +1551,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1435,8 +1582,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1463,8 +1613,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1491,8 +1644,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1519,8 +1675,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1547,8 +1706,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1575,8 +1737,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1603,8 +1768,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1631,8 +1799,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/gcr_io_distroless_base_scan_codebase.json b/scanpipe/tests/data/gcr_io_distroless_base_scan_codebase.json index ad3440ea9b..5f09605d30 100644 --- a/scanpipe/tests/data/gcr_io_distroless_base_scan_codebase.json +++ b/scanpipe/tests/data/gcr_io_distroless_base_scan_codebase.json @@ -152,16 +152,20 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [], "extra_data": { "multi_arch": "foreign" }, "package_uid": "pkg:deb/distroless/base-files@11.1%2Bdeb11u3?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -203,8 +207,14 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [ "pkg:deb/distroless/glibc" @@ -213,8 +223,6 @@ "multi_arch": "same" }, "package_uid": "pkg:deb/distroless/libc6@2.31-13%2Bdeb11u3?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -256,8 +264,14 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [ "pkg:deb/distroless/openssl" @@ -266,8 +280,6 @@ "multi_arch": "same" }, "package_uid": "pkg:deb/distroless/libssl1.1@1.1.1n-0%2Bdeb11u2?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -309,16 +321,20 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [], "extra_data": { "multi_arch": "foreign" }, "package_uid": "pkg:deb/distroless/netbase@6.3?architecture=all&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -360,16 +376,20 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [], "extra_data": { "multi_arch": "foreign" }, "package_uid": "pkg:deb/distroless/openssl@1.1.1n-0%2Bdeb11u2?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -411,16 +431,20 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "", - "declared_license": "", + "holder": "", + "declared_license_expression": "", + "declared_license_expression_spdx": "", + "license_detections": [], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "", "notice_text": "", "source_packages": [], "extra_data": { "multi_arch": "foreign" }, "package_uid": "pkg:deb/distroless/tzdata@2021a-1%2Bdeb11u4?architecture=all&uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -446,8 +470,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -474,8 +501,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -502,8 +532,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -530,8 +563,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -558,8 +594,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -586,8 +625,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -614,8 +656,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -642,8 +687,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -670,8 +718,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -698,8 +749,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -726,8 +780,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -754,8 +811,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -782,8 +842,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -810,8 +873,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -838,8 +904,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -866,8 +935,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -894,8 +966,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -922,8 +997,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -950,8 +1028,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -978,8 +1059,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1006,8 +1090,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1034,8 +1121,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1062,8 +1152,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1090,8 +1183,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1118,8 +1214,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1146,8 +1245,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1174,8 +1276,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1202,8 +1307,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1230,8 +1338,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1258,8 +1369,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1286,8 +1400,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1314,8 +1431,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1342,8 +1462,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1370,8 +1493,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1398,8 +1524,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1426,8 +1555,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1454,8 +1586,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1482,8 +1617,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1510,8 +1648,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1538,8 +1679,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1566,8 +1710,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1594,8 +1741,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1622,8 +1772,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1650,8 +1803,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1678,8 +1834,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1706,8 +1865,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1734,8 +1896,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1762,8 +1927,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1790,8 +1958,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1818,8 +1989,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1846,8 +2020,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1874,8 +2051,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1902,8 +2082,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1930,8 +2113,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1958,8 +2144,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -1986,8 +2175,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2014,8 +2206,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2042,8 +2237,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2070,8 +2268,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2098,8 +2299,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2126,8 +2330,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2154,8 +2361,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2182,8 +2392,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2210,8 +2423,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2238,8 +2454,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2266,8 +2485,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2294,8 +2516,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2322,8 +2547,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2350,8 +2578,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2378,8 +2609,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2406,8 +2640,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2434,8 +2671,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2462,8 +2702,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2490,8 +2733,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2518,8 +2764,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2546,8 +2795,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2574,8 +2826,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2602,8 +2857,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2630,8 +2888,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2658,8 +2919,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2686,8 +2950,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2714,8 +2981,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2742,8 +3012,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2770,8 +3043,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2798,8 +3074,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2826,8 +3105,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2854,8 +3136,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2882,8 +3167,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2910,8 +3198,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2938,8 +3229,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2966,8 +3260,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -2994,8 +3291,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3022,8 +3322,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3050,8 +3353,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3078,8 +3384,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3106,8 +3415,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3134,8 +3446,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3162,8 +3477,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3190,8 +3508,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3218,8 +3539,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3246,8 +3570,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3274,8 +3601,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3302,8 +3632,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3330,8 +3663,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3358,8 +3694,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3386,8 +3725,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3414,8 +3756,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3442,8 +3787,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3470,8 +3818,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3498,8 +3849,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3526,8 +3880,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3554,8 +3911,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3582,8 +3942,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3610,8 +3973,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3638,8 +4004,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3666,8 +4035,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3694,8 +4066,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3722,8 +4097,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3750,8 +4128,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3778,8 +4159,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3806,8 +4190,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3834,8 +4221,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3862,8 +4252,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3890,8 +4283,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3918,8 +4314,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3946,8 +4345,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -3974,8 +4376,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4002,8 +4407,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4030,8 +4438,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4058,8 +4469,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4086,8 +4500,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4114,8 +4531,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4142,8 +4562,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4170,8 +4593,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4198,8 +4624,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4226,8 +4655,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4254,8 +4686,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4282,8 +4717,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4310,8 +4748,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4338,8 +4779,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4366,8 +4810,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4394,8 +4841,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4422,8 +4872,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4450,8 +4903,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4478,8 +4934,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4506,8 +4965,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4534,8 +4996,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4562,8 +5027,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4590,8 +5058,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4618,8 +5089,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4646,8 +5120,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4674,8 +5151,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4702,8 +5182,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4730,8 +5213,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4758,8 +5244,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4786,8 +5275,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4814,8 +5306,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4842,8 +5337,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4870,8 +5368,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4898,8 +5399,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4926,8 +5430,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4954,8 +5461,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -4982,8 +5492,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5010,8 +5523,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5038,8 +5554,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5066,8 +5585,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5094,8 +5616,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5122,8 +5647,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5150,8 +5678,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5178,8 +5709,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5206,8 +5740,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5234,8 +5771,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5262,8 +5802,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5290,8 +5833,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5318,8 +5864,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5346,8 +5895,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5374,8 +5926,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5402,8 +5957,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5430,8 +5988,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5458,8 +6019,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5486,8 +6050,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5514,8 +6081,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5542,8 +6112,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5570,8 +6143,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5598,8 +6174,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5626,8 +6205,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5654,8 +6236,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5682,8 +6267,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5710,8 +6298,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5738,8 +6329,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5766,8 +6360,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5794,8 +6391,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5822,8 +6422,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5850,8 +6453,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5878,8 +6484,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5906,8 +6515,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5934,8 +6546,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5962,8 +6577,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -5990,8 +6608,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6018,8 +6639,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6046,8 +6670,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6074,8 +6701,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6102,8 +6732,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6130,8 +6763,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6158,8 +6794,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6186,8 +6825,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6214,8 +6856,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6242,8 +6887,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6270,8 +6918,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6298,8 +6949,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6326,8 +6980,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6354,8 +7011,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6382,8 +7042,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6410,8 +7073,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6438,8 +7104,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6466,8 +7135,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6494,8 +7166,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6522,8 +7197,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6550,8 +7228,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6578,8 +7259,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6606,8 +7290,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6634,8 +7321,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6662,8 +7352,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6690,8 +7383,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6718,8 +7414,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6746,8 +7445,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6774,8 +7476,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6802,8 +7507,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6830,8 +7538,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6858,8 +7569,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6886,8 +7600,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6914,8 +7631,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6942,8 +7662,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6970,8 +7693,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -6998,8 +7724,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7026,8 +7755,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7054,8 +7786,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7082,8 +7817,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7110,8 +7848,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7138,8 +7879,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7166,8 +7910,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7194,8 +7941,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7222,8 +7972,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7250,8 +8003,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7278,8 +8034,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7306,8 +8065,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7334,8 +8096,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7362,8 +8127,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7390,8 +8158,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7418,8 +8189,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7446,8 +8220,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7474,8 +8251,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7502,8 +8282,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7530,8 +8313,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7558,8 +8344,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7586,8 +8375,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7614,8 +8406,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7642,8 +8437,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7670,8 +8468,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7698,8 +8499,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7726,8 +8530,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7754,8 +8561,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7782,8 +8592,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7810,8 +8623,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7838,8 +8654,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7866,8 +8685,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7894,8 +8716,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7922,8 +8747,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7950,8 +8778,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -7978,8 +8809,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8006,8 +8840,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8034,8 +8871,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8062,8 +8902,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8090,8 +8933,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8118,8 +8964,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8146,8 +8995,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8174,8 +9026,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8202,8 +9057,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8230,8 +9088,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8258,8 +9119,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8286,8 +9150,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8314,8 +9181,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8342,8 +9212,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8370,8 +9243,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8398,8 +9274,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8426,8 +9305,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8454,8 +9336,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8482,8 +9367,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8510,8 +9398,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8538,8 +9429,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8566,8 +9460,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8594,8 +9491,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8622,8 +9522,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8650,8 +9553,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8678,8 +9584,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8706,8 +9615,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8734,8 +9646,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8762,8 +9677,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8790,8 +9708,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8818,8 +9739,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8846,8 +9770,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8874,8 +9801,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8902,8 +9832,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8930,8 +9863,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8958,8 +9894,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -8986,8 +9925,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9014,8 +9956,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9042,8 +9987,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9070,8 +10018,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9098,8 +10049,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9126,8 +10080,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9154,8 +10111,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9182,8 +10142,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9212,8 +10175,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9240,8 +10206,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9268,8 +10237,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9296,8 +10268,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9324,8 +10299,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9354,8 +10332,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9382,8 +10363,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9410,8 +10394,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9438,8 +10425,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9466,8 +10456,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9494,8 +10487,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9522,8 +10518,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9550,8 +10549,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9578,8 +10580,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9606,8 +10611,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9634,8 +10642,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9662,8 +10673,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9690,8 +10704,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9718,8 +10735,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9748,8 +10768,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9776,8 +10799,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9804,8 +10830,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9832,8 +10861,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9860,8 +10892,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9888,8 +10923,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9916,8 +10954,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9944,8 +10985,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -9972,8 +11016,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10000,8 +11047,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10028,8 +11078,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10056,8 +11109,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10084,8 +11140,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10112,8 +11171,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10140,8 +11202,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10168,8 +11233,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10196,8 +11264,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10224,8 +11295,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10252,8 +11326,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10280,8 +11357,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10308,8 +11388,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10336,8 +11419,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10364,8 +11450,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10392,8 +11481,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10420,8 +11512,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10448,8 +11543,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10476,8 +11574,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10504,8 +11605,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10532,8 +11636,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10560,8 +11667,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10588,8 +11698,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10616,8 +11729,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10644,8 +11760,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10672,8 +11791,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10700,8 +11822,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10728,8 +11853,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10756,8 +11884,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10784,8 +11915,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10812,8 +11946,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10840,8 +11977,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10868,8 +12008,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10896,8 +12039,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10924,8 +12070,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10952,8 +12101,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -10980,8 +12132,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11008,8 +12163,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11036,8 +12194,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11064,8 +12225,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11092,8 +12256,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11120,8 +12287,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11148,8 +12318,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11176,8 +12349,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11204,8 +12380,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11232,8 +12411,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11260,8 +12442,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11288,8 +12473,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11316,8 +12504,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11344,8 +12535,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11372,8 +12566,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11400,8 +12597,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11428,8 +12628,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11456,8 +12659,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11484,8 +12690,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11512,8 +12721,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11540,8 +12752,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11568,8 +12783,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11596,8 +12814,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11624,8 +12845,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11652,8 +12876,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11680,8 +12907,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11708,8 +12938,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11736,8 +12969,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11764,8 +13000,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11792,8 +13031,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11820,8 +13062,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11848,8 +13093,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11876,8 +13124,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11904,8 +13155,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11932,8 +13186,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11960,8 +13217,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -11988,8 +13248,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12016,8 +13279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12044,8 +13310,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12072,8 +13341,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12112,8 +13384,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12152,8 +13427,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12192,8 +13470,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12220,8 +13501,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12248,8 +13532,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12276,8 +13563,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12304,8 +13594,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12332,8 +13625,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12360,8 +13656,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12388,8 +13687,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12416,8 +13718,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12444,8 +13749,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12472,8 +13780,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12500,8 +13811,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12528,8 +13842,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12556,8 +13873,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12584,8 +13904,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12612,8 +13935,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12640,8 +13966,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12668,8 +13997,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12696,8 +14028,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12724,8 +14059,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12752,8 +14090,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12780,8 +14121,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12808,8 +14152,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12836,8 +14183,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12864,8 +14214,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12892,8 +14245,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12920,8 +14276,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12948,8 +14307,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -12976,8 +14338,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13004,8 +14369,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13032,8 +14400,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13060,8 +14431,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13088,8 +14462,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13116,8 +14493,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13144,8 +14524,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13172,8 +14555,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13200,8 +14586,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13228,8 +14617,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13256,8 +14648,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13284,8 +14679,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13312,8 +14710,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13324,6 +14725,7 @@ "purl": "pkg:linux-distro/debian/distroless@11", "sha1": null, "type": "linux-distro", + "holder": null, "sha256": null, "sha512": null, "parties": [], @@ -13347,11 +14749,16 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": null, "primary_language": null, - "license_expression": null, + "license_detections": [], "repository_download_url": null, - "repository_homepage_url": null + "repository_homepage_url": null, + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": null, + "extracted_license_statement": null, + "other_license_expression_spdx": null, + "declared_license_expression_spdx": null } ], "for_packages": [], @@ -13376,8 +14783,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13404,8 +14814,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13432,8 +14845,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13460,8 +14876,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13488,8 +14907,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13516,8 +14938,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13544,8 +14969,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13572,8 +15000,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13600,8 +15031,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13628,8 +15062,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13656,8 +15093,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13684,8 +15124,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13712,8 +15155,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13740,8 +15186,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13768,8 +15217,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13796,8 +15248,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13824,8 +15279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13852,8 +15310,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13880,8 +15341,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13908,8 +15372,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13936,8 +15403,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13964,8 +15434,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -13992,8 +15465,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14020,8 +15496,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14048,8 +15527,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14076,8 +15558,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14104,8 +15589,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14132,8 +15620,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14160,8 +15651,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14188,8 +15682,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14216,8 +15713,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14244,8 +15744,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14272,8 +15775,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14300,8 +15806,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14330,8 +15839,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14358,8 +15870,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14370,6 +15885,7 @@ "purl": "pkg:deb/ca-certificates", "sha1": null, "type": "deb", + "holder": "Fumitoshi UKAI\nPhilipp Kern\nMichael Shuler\nMozilla Contributors", "sha256": null, "sha512": null, "parties": [], @@ -14393,14 +15909,94 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": [ - "GPL-2+", - "MPL-2.0" - ], "primary_language": null, - "license_expression": "(gpl-2.0-plus AND gpl-2.0-plus AND gpl-2.0) AND (mpl-2.0 AND mpl-2.0)", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 13, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", + "start_line": 13, + "matched_text": "License: gpl-2+", + "match_coverage": 100.0, + "matched_length": 3, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", + "license_expression": "gpl-2.0-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 27, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_25.RULE", + "start_line": 14, + "matched_text": "This program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,\nUSA.", + "match_coverage": 100.0, + "matched_length": 113, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_25.RULE", + "license_expression": "gpl-2.0-plus" + }, + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1166.RULE", + "start_line": 29, + "matched_text": "On Debian GNU/Linux systems, the complete text of the GNU General Public\nLicense can be found in '/usr/share/common-licenses/GPL-2'.", + "match_coverage": 100.0, + "matched_length": 24, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1166.RULE", + "license_expression": "gpl-2.0" + } + ], + "identifier": "gpl_2_0_plus_and_gpl_2_0-c60cf274-d3ce-d029-06f8-cdf674420dbe", + "license_expression": "gpl-2.0-plus AND gpl-2.0" + }, + { + "matches": [ + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 41, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_75.RULE", + "start_line": 41, + "matched_text": "License: mpl-2.0", + "match_coverage": 100.0, + "matched_length": 4, + "rule_relevance": 100, + "rule_identifier": "mpl-2.0_75.RULE", + "license_expression": "mpl-2.0" + }, + { + "score": 100.0, + "matcher": "1-hash", + "end_line": 414, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mpl-2.0.LICENSE", + "start_line": 42, + "matched_text": "Mozilla Public License Version 2.0\n==================================\n\n1. Definitions\n--------------\n\n1.1. \"Contributor\"\n means each individual or legal entity that creates, contributes to\n the creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n means the combination of the Contributions of others (if any) used\n by a Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n means Source Code Form to which the initial Contributor has attached\n the notice in Exhibit A, the Executable Form of such Source Code\n Form, and Modifications of such Source Code Form, in each case\n including portions thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n means\n\n (a) that the initial Contributor has attached the notice described\n in Exhibit B to the Covered Software; or\n\n (b) that the Covered Software was made available under the terms of\n version 1.1 or earlier of the License, but not also under the\n terms of a Secondary License.\n\n1.6. \"Executable Form\"\n means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n means a work that combines Covered Software with other material, in\n a separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n means this document.\n\n1.9. \"Licensable\"\n means having the right to grant, to the maximum extent possible,\n whether at the time of the initial grant or subsequently, any and\n all of the rights conveyed by this License.\n\n1.10. \"Modifications\"\n means any of the following:\n\n (a) any file in Source Code Form that results from an addition to,\n deletion from, or modification of the contents of Covered\n Software; or\n\n (b) any new file in Source Code Form that contains any Covered\n Software.\n\n1.11. \"Patent Claims\" of a Contributor\n means any patent claim(s), including without limitation, method,\n process, and apparatus claims, in any patent Licensable by such\n Contributor that would be infringed, but for the grant of the\n License, by the making, using, selling, offering for sale, having\n made, import, or transfer of either its Contributions or its\n Contributor Version.\n\n1.12. \"Secondary License\"\n means either the GNU General Public License, Version 2.0, the GNU\n Lesser General Public License, Version 2.1, the GNU Affero General\n Public License, Version 3.0, or any later versions of those\n licenses.\n\n1.13. \"Source Code Form\"\n means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n means an individual or a legal entity exercising rights under this\n License. For legal entities, \"You\" includes any entity that\n controls, is controlled by, or is under common control with You. For\n purposes of this definition, \"control\" means (a) the power, direct\n or indirect, to cause the direction or management of such entity,\n whether by contract or otherwise, or (b) ownership of more than\n fifty percent (50%) of the outstanding shares or beneficial\n ownership of such entity.\n\n2. License Grants and Conditions\n--------------------------------\n\n2.1. Grants\n\nEach Contributor hereby grants You a world-wide, royalty-free,\nnon-exclusive license:\n\n(a) under intellectual property rights (other than patent or trademark)\n Licensable by such Contributor to use, reproduce, make available,\n modify, display, perform, distribute, and otherwise exploit its\n Contributions, either on an unmodified basis, with Modifications, or\n as part of a Larger Work; and\n\n(b) under Patent Claims of such Contributor to make, use, sell, offer\n for sale, have made, import, and otherwise transfer either its\n Contributions or its Contributor Version.\n\n2.2. Effective Date\n\nThe licenses granted in Section 2.1 with respect to any Contribution\nbecome effective for each Contribution on the date the Contributor first\ndistributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\nThe licenses granted in this Section 2 are the only rights granted under\nthis License. No additional rights or licenses will be implied from the\ndistribution or licensing of Covered Software under this License.\nNotwithstanding Section 2.1(b) above, no patent license is granted by a\nContributor:\n\n(a) for any code that a Contributor has removed from Covered Software;\n or\n\n(b) for infringements caused by: (i) Your and any other third party's\n modifications of Covered Software, or (ii) the combination of its\n Contributions with other software (except as part of its Contributor\n Version); or\n\n(c) under Patent Claims infringed by Covered Software in the absence of\n its Contributions.\n\nThis License does not grant any rights in the trademarks, service marks,\nor logos of any Contributor (except as may be necessary to comply with\nthe notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\nNo Contributor makes additional grants as a result of Your choice to\ndistribute the Covered Software under a subsequent version of this\nLicense (see Section 10.2) or under the terms of a Secondary License (if\npermitted under the terms of Section 3.3).\n\n2.5. Representation\n\nEach Contributor represents that the Contributor believes its\nContributions are its original creation(s) or it has sufficient rights\nto grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\nThis License is not intended to limit any rights You have under\napplicable copyright doctrines of fair use, fair dealing, or other\nequivalents.\n\n2.7. Conditions\n\nSections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted\nin Section 2.1.\n\n3. Responsibilities\n-------------------\n\n3.1. Distribution of Source Form\n\nAll distribution of Covered Software in Source Code Form, including any\nModifications that You create or to which You contribute, must be under\nthe terms of this License. You must inform recipients that the Source\nCode Form of the Covered Software is governed by the terms of this\nLicense, and how they can obtain a copy of this License. You may not\nattempt to alter or restrict the recipients' rights in the Source Code\nForm.\n\n3.2. Distribution of Executable Form\n\nIf You distribute Covered Software in Executable Form then:\n\n(a) such Covered Software must also be made available in Source Code\n Form, as described in Section 3.1, and You must inform recipients of\n the Executable Form how they can obtain a copy of such Source Code\n Form by reasonable means in a timely manner, at a charge no more\n than the cost of distribution to the recipient; and\n\n(b) You may distribute such Executable Form under the terms of this\n License, or sublicense it under different terms, provided that the\n license for the Executable Form does not attempt to limit or alter\n the recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\nYou may create and distribute a Larger Work under terms of Your choice,\nprovided that You also comply with the requirements of this License for\nthe Covered Software. If the Larger Work is a combination of Covered\nSoftware with a work governed by one or more Secondary Licenses, and the\nCovered Software is not Incompatible With Secondary Licenses, this\nLicense permits You to additionally distribute such Covered Software\nunder the terms of such Secondary License(s), so that the recipient of\nthe Larger Work may, at their option, further distribute the Covered\nSoftware under the terms of either this License or such Secondary\nLicense(s).\n\n3.4. Notices\n\nYou may not remove or alter the substance of any license notices\n(including copyright notices, patent notices, disclaimers of warranty,\nor limitations of liability) contained within the Source Code Form of\nthe Covered Software, except that You may alter any license notices to\nthe extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\nYou may choose to offer, and to charge a fee for, warranty, support,\nindemnity or liability obligations to one or more recipients of Covered\nSoftware. However, You may do so only on Your own behalf, and not on\nbehalf of any Contributor. You must make it absolutely clear that any\nsuch warranty, support, indemnity, or liability obligation is offered by\nYou alone, and You hereby agree to indemnify every Contributor for any\nliability incurred by such Contributor as a result of warranty, support,\nindemnity or liability terms You offer. You may include additional\ndisclaimers of warranty and limitations of liability specific to any\njurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n---------------------------------------------------\n\nIf it is impossible for You to comply with any of the terms of this\nLicense with respect to some or all of the Covered Software due to\nstatute, judicial order, or regulation then You must: (a) comply with\nthe terms of this License to the maximum extent possible; and (b)\ndescribe the limitations and the code they affect. Such description must\nbe placed in a text file included with all distributions of the Covered\nSoftware under this License. Except to the extent prohibited by statute\nor regulation, such description must be sufficiently detailed for a\nrecipient of ordinary skill to be able to understand it.\n\n5. Termination\n--------------\n\n5.1. The rights granted under this License will terminate automatically\nif You fail to comply with any of its terms. However, if You become\ncompliant, then the rights granted under this License from a particular\nContributor are reinstated (a) provisionally, unless and until such\nContributor explicitly and finally terminates Your grants, and (b) on an\nongoing basis, if such Contributor fails to notify You of the\nnon-compliance by some reasonable means prior to 60 days after You have\ncome back into compliance. Moreover, Your grants from a particular\nContributor are reinstated on an ongoing basis if such Contributor\nnotifies You of the non-compliance by some reasonable means, this is the\nfirst time You have received notice of non-compliance with this License\nfrom such Contributor, and You become compliant prior to 30 days after\nYour receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\ninfringement claim (excluding declaratory judgment actions,\ncounter-claims, and cross-claims) alleging that a Contributor Version\ndirectly or indirectly infringes any patent, then the rights granted to\nYou by any and all Contributors for the Covered Software under Section\n2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all\nend user license agreements (excluding distributors and resellers) which\nhave been validly granted by You or Your distributors under this License\nprior to termination shall survive termination.\n\n************************************************************************\n* *\n* 6. Disclaimer of Warranty *\n* ------------------------- *\n* *\n* Covered Software is provided under this License on an \"as is\" *\n* basis, without warranty of any kind, either expressed, implied, or *\n* statutory, including, without limitation, warranties that the *\n* Covered Software is free of defects, merchantable, fit for a *\n* particular purpose or non-infringing. The entire risk as to the *\n* quality and performance of the Covered Software is with You. *\n* Should any Covered Software prove defective in any respect, You *\n* (not any Contributor) assume the cost of any necessary servicing, *\n* repair, or correction. This disclaimer of warranty constitutes an *\n* essential part of this License. No use of any Covered Software is *\n* authorized under this License except under this disclaimer. *\n* *\n************************************************************************\n\n************************************************************************\n* *\n* 7. Limitation of Liability *\n* -------------------------- *\n* *\n* Under no circumstances and under no legal theory, whether tort *\n* (including negligence), contract, or otherwise, shall any *\n* Contributor, or anyone who distributes Covered Software as *\n* permitted above, be liable to You for any direct, indirect, *\n* special, incidental, or consequential damages of any character *\n* including, without limitation, damages for lost profits, loss of *\n* goodwill, work stoppage, computer failure or malfunction, or any *\n* and all other commercial damages or losses, even if such party *\n* shall have been informed of the possibility of such damages. This *\n* limitation of liability shall not apply to liability for death or *\n* personal injury resulting from such party's negligence to the *\n* extent applicable law prohibits such limitation. Some *\n* jurisdictions do not allow the exclusion or limitation of *\n* incidental or consequential damages, so this exclusion and *\n* limitation may not apply to You. *\n* *\n************************************************************************\n\n8. Litigation\n-------------\n\nAny litigation relating to this License may be brought only in the\ncourts of a jurisdiction where the defendant maintains its principal\nplace of business and such litigation shall be governed by laws of that\njurisdiction, without reference to its conflict-of-law provisions.\nNothing in this Section shall prevent a party's ability to bring\ncross-claims or counter-claims.\n\n9. Miscellaneous\n----------------\n\nThis License represents the complete agreement concerning the subject\nmatter hereof. If any provision of this License is held to be\nunenforceable, such provision shall be reformed only to the extent\nnecessary to make it enforceable. Any law or regulation which provides\nthat the language of a contract shall be construed against the drafter\nshall not be used to construe this License against a Contributor.\n\n10. Versions of the License\n---------------------------\n\n10.1. New Versions\n\nMozilla Foundation is the license steward. Except as provided in Section\n10.3, no one other than the license steward has the right to modify or\npublish new versions of this License. Each version will be given a\ndistinguishing version number.\n\n10.2. Effect of New Versions\n\nYou may distribute the Covered Software under the terms of the version\nof the License under which You originally received the Covered Software,\nor under the terms of any subsequent version published by the license\nsteward.\n\n10.3. Modified Versions\n\nIf you create software not governed by this License, and you want to\ncreate a new license for such software, you may create and use a\nmodified version of this License if you rename the license and remove\nany references to the name of the license steward (except to note that\nsuch modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\nLicenses\n\nIf You choose to distribute Source Code Form that is Incompatible With\nSecondary Licenses under the terms of this version of the License, the\nnotice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n-------------------------------------------\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular\nfile, then You may include the notice in a location (such as a LICENSE\nfile in a relevant directory) where a recipient would be likely to look\nfor such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n---------------------------------------------------------\n\n This Source Code Form is \"Incompatible With Secondary Licenses\", as\n defined by the Mozilla Public License, v. 2.0.", + "match_coverage": 100.0, + "matched_length": 2371, + "rule_relevance": 100, + "rule_identifier": "mpl-2.0.LICENSE", + "license_expression": "mpl-2.0" + } + ], + "identifier": "mpl_2_0-a4e80716-0ace-81d4-b4b0-3d29c3a0f1e2", + "license_expression": "mpl-2.0" + } + ], "repository_download_url": null, - "repository_homepage_url": null + "repository_homepage_url": null, + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "(gpl-2.0-plus AND gpl-2.0) AND mpl-2.0", + "extracted_license_statement": "['GPL-2+', 'MPL-2.0']", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "(GPL-2.0-or-later AND GPL-2.0-only) AND MPL-2.0" } ], "for_packages": [], @@ -14425,8 +16021,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14453,8 +16052,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14481,8 +16083,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14511,8 +16116,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14539,8 +16147,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14567,8 +16178,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14595,8 +16209,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14623,8 +16240,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14653,8 +16273,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14681,8 +16304,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14709,8 +16335,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14737,8 +16366,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14765,8 +16397,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14793,8 +16428,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14821,8 +16459,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14849,8 +16490,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14877,8 +16521,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14905,8 +16552,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14933,8 +16583,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14961,8 +16614,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -14989,8 +16645,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15017,8 +16676,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15045,8 +16707,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15073,8 +16738,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15101,8 +16769,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15129,8 +16800,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15157,8 +16831,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15185,8 +16862,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15213,8 +16893,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15241,8 +16924,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15269,8 +16955,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15297,8 +16986,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15325,8 +17017,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15353,8 +17048,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15381,8 +17079,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15409,8 +17110,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15437,8 +17141,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15465,8 +17172,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15493,8 +17203,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15521,8 +17234,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15549,8 +17265,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15577,8 +17296,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15605,8 +17327,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15633,8 +17358,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15661,8 +17389,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15689,8 +17420,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15717,8 +17451,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15745,8 +17482,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15773,8 +17513,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15801,8 +17544,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15829,8 +17575,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15857,8 +17606,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15885,8 +17637,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15913,8 +17668,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15941,8 +17699,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15969,8 +17730,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -15997,8 +17761,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16025,8 +17792,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16053,8 +17823,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16081,8 +17854,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16109,8 +17885,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16137,8 +17916,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16165,8 +17947,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16193,8 +17978,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16221,8 +18009,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16249,8 +18040,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16277,8 +18071,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16305,8 +18102,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16333,8 +18133,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16361,8 +18164,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16389,8 +18195,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16417,8 +18226,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16445,8 +18257,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16473,8 +18288,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16501,8 +18319,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16529,8 +18350,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16557,8 +18381,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16585,8 +18412,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16613,8 +18443,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16641,8 +18474,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16669,8 +18505,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16697,8 +18536,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16725,8 +18567,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16753,8 +18598,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16781,8 +18629,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16809,8 +18660,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16837,8 +18691,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16865,8 +18722,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16893,8 +18753,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16921,8 +18784,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16949,8 +18815,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -16977,8 +18846,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17005,8 +18877,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17033,8 +18908,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17061,8 +18939,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17089,8 +18970,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17117,8 +19001,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17145,8 +19032,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17173,8 +19063,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17201,8 +19094,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17229,8 +19125,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17257,8 +19156,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17285,8 +19187,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17313,8 +19218,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17341,8 +19249,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17369,8 +19280,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17397,8 +19311,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17425,8 +19342,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17453,8 +19373,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17481,8 +19404,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17509,8 +19435,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17537,8 +19466,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17565,8 +19497,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17593,8 +19528,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17621,8 +19559,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17649,8 +19590,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17677,8 +19621,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17705,8 +19652,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17733,8 +19683,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17761,8 +19714,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17789,8 +19745,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17817,8 +19776,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17845,8 +19807,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17873,8 +19838,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17901,8 +19869,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17929,8 +19900,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17957,8 +19931,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -17985,8 +19962,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18013,8 +19993,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18041,8 +20024,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18069,8 +20055,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18097,8 +20086,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18125,8 +20117,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18153,8 +20148,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18181,8 +20179,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18209,8 +20210,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18237,8 +20241,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18265,8 +20272,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18293,8 +20303,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18321,8 +20334,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18349,8 +20365,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18377,8 +20396,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18405,8 +20427,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18433,8 +20458,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18461,8 +20489,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18489,8 +20520,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18517,8 +20551,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18545,8 +20582,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18573,8 +20613,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18601,8 +20644,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18629,8 +20675,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18657,8 +20706,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18685,8 +20737,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18713,8 +20768,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18741,8 +20799,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18769,8 +20830,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18797,8 +20861,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18825,8 +20892,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18853,8 +20923,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18881,8 +20954,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18909,8 +20985,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18937,8 +21016,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18965,8 +21047,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -18993,8 +21078,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19021,8 +21109,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19049,8 +21140,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19077,8 +21171,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19105,8 +21202,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19133,8 +21233,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19161,8 +21264,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19189,8 +21295,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19217,8 +21326,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19245,8 +21357,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19273,8 +21388,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19301,8 +21419,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19329,8 +21450,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19357,8 +21481,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19385,8 +21512,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19413,8 +21543,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19441,8 +21574,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19469,8 +21605,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19497,8 +21636,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19525,8 +21667,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19553,8 +21698,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19581,8 +21729,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19609,8 +21760,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19637,8 +21791,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19665,8 +21822,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19693,8 +21853,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19721,8 +21884,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19749,8 +21915,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19777,8 +21946,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19805,8 +21977,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19833,8 +22008,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19861,8 +22039,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19889,8 +22070,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19917,8 +22101,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19945,8 +22132,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -19973,8 +22163,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20001,8 +22194,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20029,8 +22225,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20057,8 +22256,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20085,8 +22287,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20113,8 +22318,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20141,8 +22349,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20169,8 +22380,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20197,8 +22411,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20225,8 +22442,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20253,8 +22473,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20281,8 +22504,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20309,8 +22535,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20337,8 +22566,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20365,8 +22597,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20393,8 +22628,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20421,8 +22659,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20449,8 +22690,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20477,8 +22721,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20505,8 +22752,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20533,8 +22783,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20561,8 +22814,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20589,8 +22845,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20617,8 +22876,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20645,8 +22907,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20673,8 +22938,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20701,8 +22969,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20729,8 +23000,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20757,8 +23031,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20785,8 +23062,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20813,8 +23093,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20841,8 +23124,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20869,8 +23155,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20897,8 +23186,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20925,8 +23217,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20953,8 +23248,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -20981,8 +23279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21009,8 +23310,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21037,8 +23341,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21065,8 +23372,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21093,8 +23403,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21121,8 +23434,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21149,8 +23465,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21177,8 +23496,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21205,8 +23527,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21233,8 +23558,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21261,8 +23589,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21289,8 +23620,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21317,8 +23651,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21345,8 +23682,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21373,8 +23713,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21401,8 +23744,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21429,8 +23775,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21457,8 +23806,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21485,8 +23837,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21513,8 +23868,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21541,8 +23899,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21569,8 +23930,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21597,8 +23961,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21625,8 +23992,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21653,8 +24023,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21681,8 +24054,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21709,8 +24085,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21737,8 +24116,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21765,8 +24147,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21793,8 +24178,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21821,8 +24209,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21849,8 +24240,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21877,8 +24271,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21905,8 +24302,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21933,8 +24333,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21961,8 +24364,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -21989,8 +24395,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22017,8 +24426,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22045,8 +24457,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22073,8 +24488,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22101,8 +24519,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22129,8 +24550,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22157,8 +24581,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22185,8 +24612,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22213,8 +24643,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22241,8 +24674,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22269,8 +24705,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22297,8 +24736,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22325,8 +24767,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22353,8 +24798,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22381,8 +24829,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22409,8 +24860,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22437,8 +24891,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22465,8 +24922,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22493,8 +24953,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22521,8 +24984,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22549,8 +25015,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22577,8 +25046,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22605,8 +25077,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22633,8 +25108,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22661,8 +25139,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22689,8 +25170,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22717,8 +25201,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22745,8 +25232,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22773,8 +25263,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22801,8 +25294,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22829,8 +25325,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22857,8 +25356,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22885,8 +25387,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22913,8 +25418,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22941,8 +25449,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22969,8 +25480,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -22997,8 +25511,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23025,8 +25542,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23053,8 +25573,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23081,8 +25604,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23109,8 +25635,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23137,8 +25666,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23165,8 +25697,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23193,8 +25728,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23221,8 +25759,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23249,8 +25790,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23277,8 +25821,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23305,8 +25852,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23333,8 +25883,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23361,8 +25914,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23389,8 +25945,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23417,8 +25976,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23445,8 +26007,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23473,8 +26038,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23501,8 +26069,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23529,8 +26100,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23557,8 +26131,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23585,8 +26162,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23613,8 +26193,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23641,8 +26224,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23669,8 +26255,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23697,8 +26286,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23725,8 +26317,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23753,8 +26348,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23781,8 +26379,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23809,8 +26410,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23837,8 +26441,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23865,8 +26472,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23893,8 +26503,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23921,8 +26534,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23949,8 +26565,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -23977,8 +26596,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24005,8 +26627,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24033,8 +26658,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24061,8 +26689,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24089,8 +26720,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24117,8 +26751,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24145,8 +26782,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24173,8 +26813,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24201,8 +26844,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24229,8 +26875,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24257,8 +26906,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24285,8 +26937,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24313,8 +26968,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24341,8 +26999,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24369,8 +27030,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24397,8 +27061,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24425,8 +27092,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24453,8 +27123,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24481,8 +27154,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24509,8 +27185,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24537,8 +27216,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24565,8 +27247,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24593,8 +27278,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24621,8 +27309,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24649,8 +27340,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24677,8 +27371,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24705,8 +27402,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24733,8 +27433,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24761,8 +27464,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24789,8 +27495,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24817,8 +27526,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24845,8 +27557,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24873,8 +27588,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24901,8 +27619,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24929,8 +27650,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24957,8 +27681,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -24985,8 +27712,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25013,8 +27743,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25041,8 +27774,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25069,8 +27805,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25097,8 +27836,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25125,8 +27867,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25153,8 +27898,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25181,8 +27929,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25209,8 +27960,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25237,8 +27991,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25265,8 +28022,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25293,8 +28053,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25321,8 +28084,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25349,8 +28115,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25377,8 +28146,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25405,8 +28177,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25433,8 +28208,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25461,8 +28239,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25489,8 +28270,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25517,8 +28301,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25545,8 +28332,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25573,8 +28363,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25601,8 +28394,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25629,8 +28425,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25657,8 +28456,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25685,8 +28487,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25713,8 +28518,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25741,8 +28549,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25769,8 +28580,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25797,8 +28611,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25825,8 +28642,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25853,8 +28673,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25881,8 +28704,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25909,8 +28735,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25937,8 +28766,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25965,8 +28797,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -25993,8 +28828,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26021,8 +28859,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26049,8 +28890,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26077,8 +28921,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26105,8 +28952,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26133,8 +28983,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26161,8 +29014,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26189,8 +29045,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26217,8 +29076,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26245,8 +29107,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26273,8 +29138,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26301,8 +29169,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26329,8 +29200,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26357,8 +29231,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26385,8 +29262,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26413,8 +29293,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26441,8 +29324,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26469,8 +29355,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26497,8 +29386,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26525,8 +29417,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26553,8 +29448,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26581,8 +29479,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26609,8 +29510,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26637,8 +29541,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26665,8 +29572,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26693,8 +29603,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26721,8 +29634,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26749,8 +29665,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26777,8 +29696,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26805,8 +29727,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26833,8 +29758,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26861,8 +29789,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26889,8 +29820,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26917,8 +29851,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26945,8 +29882,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -26973,8 +29913,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27001,8 +29944,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27029,8 +29975,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27057,8 +30006,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27085,8 +30037,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27113,8 +30068,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27141,8 +30099,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27169,8 +30130,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27197,8 +30161,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27225,8 +30192,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27253,8 +30223,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27281,8 +30254,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27309,8 +30285,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27337,8 +30316,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27365,8 +30347,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27393,8 +30378,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27421,8 +30409,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27449,8 +30440,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27477,8 +30471,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27505,8 +30502,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27533,8 +30533,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27561,8 +30564,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27589,8 +30595,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27617,8 +30626,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27645,8 +30657,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27673,8 +30688,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27701,8 +30719,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27729,8 +30750,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27757,8 +30781,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27785,8 +30812,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27813,8 +30843,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27841,8 +30874,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27869,8 +30905,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27897,8 +30936,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27925,8 +30967,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27953,8 +30998,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -27981,8 +31029,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28009,8 +31060,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28037,8 +31091,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28065,8 +31122,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28093,8 +31153,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28121,8 +31184,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28149,8 +31215,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28177,8 +31246,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28205,8 +31277,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28233,8 +31308,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28261,8 +31339,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28289,8 +31370,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28317,8 +31401,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28345,8 +31432,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28373,8 +31463,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28401,8 +31494,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28429,8 +31525,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28457,8 +31556,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28485,8 +31587,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28513,8 +31618,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28541,8 +31649,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28569,8 +31680,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28597,8 +31711,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28625,8 +31742,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28653,8 +31773,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28681,8 +31804,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28709,8 +31835,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28737,8 +31866,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28765,8 +31897,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28793,8 +31928,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28821,8 +31959,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28849,8 +31990,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28877,8 +32021,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28905,8 +32052,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28933,8 +32083,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28961,8 +32114,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -28989,8 +32145,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29017,8 +32176,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29045,8 +32207,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29073,8 +32238,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29101,8 +32269,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29129,8 +32300,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29157,8 +32331,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29185,8 +32362,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29213,8 +32393,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29241,8 +32424,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29269,8 +32455,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29297,8 +32486,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29325,8 +32517,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29353,8 +32548,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29381,8 +32579,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29409,8 +32610,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29437,8 +32641,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29465,8 +32672,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29493,8 +32703,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29521,8 +32734,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29549,8 +32765,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29577,8 +32796,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29605,8 +32827,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29633,8 +32858,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29661,8 +32889,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29689,8 +32920,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29717,8 +32951,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29745,8 +32982,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29773,8 +33013,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29801,8 +33044,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29829,8 +33075,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29857,8 +33106,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29885,8 +33137,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29913,8 +33168,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29941,8 +33199,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29969,8 +33230,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -29997,8 +33261,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30025,8 +33292,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30053,8 +33323,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30081,8 +33354,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30109,8 +33385,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30137,8 +33416,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30165,8 +33447,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30193,8 +33478,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30221,8 +33509,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30249,8 +33540,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30277,8 +33571,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30305,8 +33602,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30333,8 +33633,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30361,8 +33664,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30389,8 +33695,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30417,8 +33726,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30445,8 +33757,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30473,8 +33788,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30501,8 +33819,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30529,8 +33850,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30557,8 +33881,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30585,8 +33912,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30613,8 +33943,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30641,8 +33974,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30669,8 +34005,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30697,8 +34036,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30725,8 +34067,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30753,8 +34098,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30781,8 +34129,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30809,8 +34160,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30837,8 +34191,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30865,8 +34222,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30893,8 +34253,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30921,8 +34284,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30949,8 +34315,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -30977,8 +34346,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31005,8 +34377,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31033,8 +34408,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31061,8 +34439,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31089,8 +34470,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31117,8 +34501,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31145,8 +34532,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31173,8 +34563,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31201,8 +34594,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31229,8 +34625,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31257,8 +34656,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31285,8 +34687,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31313,8 +34718,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31341,8 +34749,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31369,8 +34780,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31397,8 +34811,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31425,8 +34842,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31453,8 +34873,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31481,8 +34904,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31509,8 +34935,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31537,8 +34966,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31565,8 +34997,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31593,8 +35028,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31621,8 +35059,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31649,8 +35090,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31677,8 +35121,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31705,8 +35152,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31733,8 +35183,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31761,8 +35214,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31789,8 +35245,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31817,8 +35276,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31845,8 +35307,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31873,8 +35338,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31901,8 +35369,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31929,8 +35400,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31957,8 +35431,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -31985,8 +35462,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32013,8 +35493,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32041,8 +35524,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32069,8 +35555,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32097,8 +35586,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32125,8 +35617,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32153,8 +35648,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32181,8 +35679,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32209,8 +35710,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32237,8 +35741,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32265,8 +35772,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32293,8 +35803,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32321,8 +35834,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32349,8 +35865,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32377,8 +35896,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32405,8 +35927,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32433,8 +35958,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32461,8 +35989,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32489,8 +36020,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32517,8 +36051,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32545,8 +36082,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32573,8 +36113,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32601,8 +36144,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32629,8 +36175,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32657,8 +36206,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32685,8 +36237,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32713,8 +36268,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32741,8 +36299,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32769,8 +36330,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32797,8 +36361,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32825,8 +36392,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32853,8 +36423,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32881,8 +36454,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32909,8 +36485,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32937,8 +36516,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32965,8 +36547,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -32993,8 +36578,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33021,8 +36609,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33049,8 +36640,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33077,8 +36671,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33105,8 +36702,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33133,8 +36733,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33161,8 +36764,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33189,8 +36795,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33217,8 +36826,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33245,8 +36857,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33273,8 +36888,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33301,8 +36919,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33329,8 +36950,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33357,8 +36981,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33385,8 +37012,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33413,8 +37043,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33441,8 +37074,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33469,8 +37105,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33497,8 +37136,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33525,8 +37167,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33553,8 +37198,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33581,8 +37229,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33609,8 +37260,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33637,8 +37291,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33665,8 +37322,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33693,8 +37353,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33721,8 +37384,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33749,8 +37415,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33777,8 +37446,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33805,8 +37477,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33833,8 +37508,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33861,8 +37539,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33889,8 +37570,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33917,8 +37601,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33945,8 +37632,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -33973,8 +37663,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34001,8 +37694,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34029,8 +37725,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34057,8 +37756,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34085,8 +37787,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34113,8 +37818,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34141,8 +37849,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34169,8 +37880,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34197,8 +37911,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34225,8 +37942,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34253,8 +37973,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34281,8 +38004,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34309,8 +38035,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34337,8 +38066,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34365,8 +38097,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34393,8 +38128,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34421,8 +38159,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34449,8 +38190,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34477,8 +38221,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34505,8 +38252,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34533,8 +38283,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34561,8 +38314,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34589,8 +38345,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34617,8 +38376,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34645,8 +38407,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34673,8 +38438,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34701,8 +38469,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34729,8 +38500,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34757,8 +38531,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34785,8 +38562,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34813,8 +38593,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34841,8 +38624,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34869,8 +38655,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34897,8 +38686,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34925,8 +38717,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34953,8 +38748,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -34981,8 +38779,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35009,8 +38810,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35037,8 +38841,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35065,8 +38872,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35093,8 +38903,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35121,8 +38934,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35149,8 +38965,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35177,8 +38996,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35205,8 +39027,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35233,8 +39058,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35261,8 +39089,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35289,8 +39120,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35317,8 +39151,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35345,8 +39182,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35373,8 +39213,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35401,8 +39244,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35429,8 +39275,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35457,8 +39306,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35485,8 +39337,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35513,8 +39368,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35541,8 +39399,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35569,8 +39430,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35597,8 +39461,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35625,8 +39492,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35653,8 +39523,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35681,8 +39554,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35709,8 +39585,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35737,8 +39616,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35765,8 +39647,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35793,8 +39678,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35821,8 +39709,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35849,8 +39740,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35877,8 +39771,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35905,8 +39802,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35933,8 +39833,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35961,8 +39864,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -35989,8 +39895,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36017,8 +39926,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36045,8 +39957,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36073,8 +39988,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36101,8 +40019,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36129,8 +40050,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36157,8 +40081,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36185,8 +40112,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36213,8 +40143,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36241,8 +40174,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36269,8 +40205,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36297,8 +40236,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36325,8 +40267,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36353,8 +40298,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36381,8 +40329,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36409,8 +40360,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36437,8 +40391,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36465,8 +40422,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36493,8 +40453,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36521,8 +40484,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36549,8 +40515,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36577,8 +40546,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36605,8 +40577,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36633,8 +40608,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36661,8 +40639,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36689,8 +40670,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36717,8 +40701,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36745,8 +40732,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36773,8 +40763,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36801,8 +40794,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36829,8 +40825,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36857,8 +40856,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36885,8 +40887,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36913,8 +40918,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36941,8 +40949,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36969,8 +40980,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -36997,8 +41011,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37025,8 +41042,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37053,8 +41073,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37081,8 +41104,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37109,8 +41135,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37137,8 +41166,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37165,8 +41197,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37193,8 +41228,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37221,8 +41259,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37249,8 +41290,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37277,8 +41321,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37305,8 +41352,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37333,8 +41383,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37361,8 +41414,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37389,8 +41445,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37417,8 +41476,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37445,8 +41507,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37473,8 +41538,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37501,8 +41569,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37529,8 +41600,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37557,8 +41631,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37585,8 +41662,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37613,8 +41693,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37641,8 +41724,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37669,8 +41755,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37697,8 +41786,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37725,8 +41817,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37753,8 +41848,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37781,8 +41879,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37809,8 +41910,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37837,8 +41941,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37865,8 +41972,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37893,8 +42003,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37921,8 +42034,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37949,8 +42065,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -37977,8 +42096,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38005,8 +42127,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38033,8 +42158,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38061,8 +42189,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38089,8 +42220,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38117,8 +42251,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38145,8 +42282,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38173,8 +42313,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38201,8 +42344,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38229,8 +42375,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38257,8 +42406,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38285,8 +42437,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38313,8 +42468,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38341,8 +42499,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38369,8 +42530,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38397,8 +42561,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38425,8 +42592,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38453,8 +42623,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38481,8 +42654,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38509,8 +42685,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38537,8 +42716,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38565,8 +42747,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38593,8 +42778,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38621,8 +42809,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38649,8 +42840,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38677,8 +42871,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38705,8 +42902,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38733,8 +42933,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38761,8 +42964,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38789,8 +42995,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38817,8 +43026,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38845,8 +43057,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38873,8 +43088,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38901,8 +43119,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38929,8 +43150,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38957,8 +43181,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -38985,8 +43212,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39013,8 +43243,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39041,8 +43274,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39069,8 +43305,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39097,8 +43336,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39125,8 +43367,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39153,8 +43398,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39181,8 +43429,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39209,8 +43460,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39237,8 +43491,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39265,8 +43522,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39293,8 +43553,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39321,8 +43584,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39349,8 +43615,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39377,8 +43646,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39405,8 +43677,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39433,8 +43708,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39461,8 +43739,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39489,8 +43770,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39517,8 +43801,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39545,8 +43832,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39573,8 +43863,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39601,8 +43894,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39629,8 +43925,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39657,8 +43956,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39685,8 +43987,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39713,8 +44018,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39741,8 +44049,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39769,8 +44080,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39797,8 +44111,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39825,8 +44142,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39853,8 +44173,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39881,8 +44204,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39909,8 +44235,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39937,8 +44266,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39965,8 +44297,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -39993,8 +44328,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40021,8 +44359,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40049,8 +44390,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40077,8 +44421,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40105,8 +44452,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40133,8 +44483,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40161,8 +44514,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40189,8 +44545,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40217,8 +44576,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40245,8 +44607,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40273,8 +44638,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40301,8 +44669,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40329,8 +44700,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40357,8 +44731,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40385,8 +44762,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40413,8 +44793,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40441,8 +44824,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40469,8 +44855,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40497,8 +44886,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40525,8 +44917,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40553,8 +44948,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40581,8 +44979,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40609,8 +45010,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40637,8 +45041,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40665,8 +45072,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40693,8 +45103,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40721,8 +45134,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40749,8 +45165,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40777,8 +45196,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40805,8 +45227,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40833,8 +45258,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40861,8 +45289,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40889,8 +45320,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40917,8 +45351,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40945,8 +45382,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -40973,8 +45413,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41001,8 +45444,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41029,8 +45475,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41057,8 +45506,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41085,8 +45537,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41113,8 +45568,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41141,8 +45599,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41169,8 +45630,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41197,8 +45661,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41225,8 +45692,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41253,8 +45723,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41281,8 +45754,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41309,8 +45785,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41337,8 +45816,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41365,8 +45847,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41393,8 +45878,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41421,8 +45909,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41449,8 +45940,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41477,8 +45971,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41505,8 +46002,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41533,8 +46033,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41561,8 +46064,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41589,8 +46095,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41617,8 +46126,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41645,8 +46157,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41673,8 +46188,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41701,8 +46219,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41729,8 +46250,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41757,8 +46281,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41785,8 +46312,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41813,8 +46343,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41841,8 +46374,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41869,8 +46405,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41897,8 +46436,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41925,8 +46467,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41953,8 +46498,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -41981,8 +46529,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42009,8 +46560,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42037,8 +46591,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42065,8 +46622,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42093,8 +46653,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42121,8 +46684,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42149,8 +46715,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42177,8 +46746,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42205,8 +46777,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42233,8 +46808,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42261,8 +46839,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42289,8 +46870,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42317,8 +46901,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42345,8 +46932,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42373,8 +46963,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42401,8 +46994,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42429,8 +47025,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42457,8 +47056,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42485,8 +47087,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42513,8 +47118,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42541,8 +47149,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42569,8 +47180,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42597,8 +47211,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42625,8 +47242,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42653,8 +47273,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42681,8 +47304,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42709,8 +47335,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42737,8 +47366,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42765,8 +47397,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42793,8 +47428,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42821,8 +47459,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42849,8 +47490,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42877,8 +47521,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42905,8 +47552,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42933,8 +47583,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42961,8 +47614,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -42989,8 +47645,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43017,8 +47676,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43045,8 +47707,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43073,8 +47738,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43101,8 +47769,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43129,8 +47800,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43157,8 +47831,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43185,8 +47862,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43213,8 +47893,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43241,8 +47924,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43269,8 +47955,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43297,8 +47986,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43325,8 +48017,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43353,8 +48048,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43381,8 +48079,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43409,8 +48110,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43437,8 +48141,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43465,8 +48172,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43493,8 +48203,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43521,8 +48234,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43549,8 +48265,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43577,8 +48296,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43605,8 +48327,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43633,8 +48358,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43661,8 +48389,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43689,8 +48420,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43717,8 +48451,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43745,8 +48482,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43773,8 +48513,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43801,8 +48544,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43829,8 +48575,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43857,8 +48606,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43885,8 +48637,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43913,8 +48668,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43941,8 +48699,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43969,8 +48730,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -43997,8 +48761,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44025,8 +48792,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44053,8 +48823,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44081,8 +48854,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44109,8 +48885,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44137,8 +48916,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44165,8 +48947,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44193,8 +48978,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44221,8 +49009,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44249,8 +49040,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44277,8 +49071,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44305,8 +49102,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44333,8 +49133,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44361,8 +49164,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44389,8 +49195,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44417,8 +49226,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44445,8 +49257,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44473,8 +49288,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44501,8 +49319,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44529,8 +49350,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44557,8 +49381,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44585,8 +49412,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44613,8 +49443,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44641,8 +49474,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44669,8 +49505,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44697,8 +49536,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44725,8 +49567,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44753,8 +49598,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44781,8 +49629,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44809,8 +49660,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44837,8 +49691,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44865,8 +49722,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44893,8 +49753,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44921,8 +49784,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44949,8 +49815,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -44977,8 +49846,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45005,8 +49877,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45033,8 +49908,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45061,8 +49939,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45089,8 +49970,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45117,8 +50001,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45145,8 +50032,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45173,8 +50063,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45201,8 +50094,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45229,8 +50125,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45257,8 +50156,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45285,8 +50187,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45313,8 +50218,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45341,8 +50249,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45369,8 +50280,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45397,8 +50311,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45425,8 +50342,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45453,8 +50373,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45481,8 +50404,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45509,8 +50435,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45537,8 +50466,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45565,8 +50497,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45593,8 +50528,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45621,8 +50559,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45649,8 +50590,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45677,8 +50621,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45705,8 +50652,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45733,8 +50683,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45761,8 +50714,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45789,8 +50745,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45817,8 +50776,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45845,8 +50807,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45873,8 +50838,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45901,8 +50869,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45929,8 +50900,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45957,8 +50931,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -45985,8 +50962,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46013,8 +50993,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46041,8 +51024,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46069,8 +51055,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46097,8 +51086,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46125,8 +51117,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46153,8 +51148,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46181,8 +51179,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46209,8 +51210,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46237,8 +51241,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46265,8 +51272,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46293,8 +51303,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46321,8 +51334,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46349,8 +51365,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46377,8 +51396,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46405,8 +51427,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46433,8 +51458,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46461,8 +51489,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46489,8 +51520,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46517,8 +51551,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46545,8 +51582,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46573,8 +51613,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46601,8 +51644,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46629,8 +51675,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46657,8 +51706,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46685,8 +51737,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46713,8 +51768,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46741,8 +51799,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46769,8 +51830,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46797,8 +51861,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46825,8 +51892,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46853,8 +51923,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46881,8 +51954,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46909,8 +51985,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46937,8 +52016,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46965,8 +52047,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -46993,8 +52078,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47021,8 +52109,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47049,8 +52140,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47077,8 +52171,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47105,8 +52202,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47133,8 +52233,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47161,8 +52264,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47189,8 +52295,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47217,8 +52326,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47245,8 +52357,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47273,8 +52388,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47301,8 +52419,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47329,8 +52450,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47357,8 +52481,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47385,8 +52512,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47413,8 +52543,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47441,8 +52574,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47469,8 +52605,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47497,8 +52636,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47525,8 +52667,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47553,8 +52698,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47581,8 +52729,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47609,8 +52760,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47637,8 +52791,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47665,8 +52822,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47693,8 +52853,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47721,8 +52884,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47749,8 +52915,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47777,8 +52946,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47805,8 +52977,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47833,8 +53008,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47861,8 +53039,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47889,8 +53070,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47917,8 +53101,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47945,8 +53132,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -47973,8 +53163,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48001,8 +53194,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48029,8 +53225,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48057,8 +53256,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48085,8 +53287,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48113,8 +53318,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48141,8 +53349,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48169,8 +53380,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48197,8 +53411,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48225,8 +53442,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48253,8 +53473,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48281,8 +53504,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48309,8 +53535,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48337,8 +53566,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48365,8 +53597,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48393,8 +53628,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48421,8 +53659,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48449,8 +53690,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48477,8 +53721,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48505,8 +53752,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48533,8 +53783,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48561,8 +53814,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48589,8 +53845,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48617,8 +53876,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48645,8 +53907,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48673,8 +53938,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48701,8 +53969,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48729,8 +54000,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48757,8 +54031,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48785,8 +54062,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48813,8 +54093,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48841,8 +54124,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48869,8 +54155,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48897,8 +54186,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48925,8 +54217,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48953,8 +54248,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -48981,8 +54279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49009,8 +54310,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49037,8 +54341,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49065,8 +54372,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49093,8 +54403,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49121,8 +54434,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49149,8 +54465,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49177,8 +54496,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49205,8 +54527,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49233,8 +54558,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49261,8 +54589,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49289,8 +54620,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49317,8 +54651,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49345,8 +54682,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49373,8 +54713,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49401,8 +54744,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49429,8 +54775,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49457,8 +54806,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49491,8 +54843,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49525,8 +54880,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49565,8 +54923,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49593,8 +54954,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49621,8 +54985,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49649,8 +55016,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49677,8 +55047,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49705,8 +55078,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -49733,8 +55109,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/image-with-symlinks/minitag.tar-expected-scan.json b/scanpipe/tests/data/image-with-symlinks/minitag.tar-expected-scan.json index c8c6c20d83..52cd1208a4 100644 --- a/scanpipe/tests/data/image-with-symlinks/minitag.tar-expected-scan.json +++ b/scanpipe/tests/data/image-with-symlinks/minitag.tar-expected-scan.json @@ -93,8 +93,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -121,8 +124,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -149,8 +155,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -177,8 +186,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -205,8 +217,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -233,8 +248,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -261,8 +279,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -289,8 +310,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], diff --git a/scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json b/scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json index 946a804f57..be3b88d7a6 100644 --- a/scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json +++ b/scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json @@ -68,14 +68,38 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit", - "declared_license": "['MIT']", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": "", "source_packages": [], "extra_data": {}, "package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], @@ -115,8 +139,11 @@ "is_archive": true, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -143,8 +170,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -171,8 +201,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -199,8 +232,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -229,8 +265,11 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [], - "license_expressions": [], + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, "copyrights": [], "holders": [], "authors": [], @@ -241,6 +280,7 @@ "purl": "pkg:npm/is-npm@1.0.0", "sha1": null, "type": "npm", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -290,13 +330,36 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": [ - "MIT" - ], "primary_language": "JavaScript", - "license_expression": "mit", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], "repository_download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "repository_homepage_url": "https://www.npmjs.com/package/is-npm" + "repository_homepage_url": "https://www.npmjs.com/package/is-npm", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "['MIT']", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" } ], "for_packages": [ @@ -323,50 +386,31 @@ "is_archive": false, "is_media": false, "is_key_file": false, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 30, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 28, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit_30.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 28, + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 2.78, "copyrights": [ { "end_line": 30, diff --git a/scanpipe/tests/data/is-npm-1.0.0_scan_package.json b/scanpipe/tests/data/is-npm-1.0.0_scan_package.json index 004efc42d3..8729a7c61e 100644 --- a/scanpipe/tests/data/is-npm-1.0.0_scan_package.json +++ b/scanpipe/tests/data/is-npm-1.0.0_scan_package.json @@ -7,7 +7,6 @@ "--copyright": true, "--email": true, "--info": true, - "--is-license-text": true, "--license": true, "--license-text": true, "--package": true, @@ -15,32 +14,43 @@ "--url": true }, "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "output_format_version": "2.0.0", + "output_format_version": "3.0.0", "message": null, "errors": [], "warnings": [], "extra_data": { - "spdx_license_list_version": "3.18", + "spdx_license_list_version": "3.20", "files_count": 3 } } ], - "dependencies": [ - { - "purl": "pkg:npm/ava", - "extracted_requirement": "0.0.3", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "codebase/package/package.json", - "datasource_id": "npm_package_json" - } - ], + "summary": { + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 90, + "declared_license": true, + "identification_precision": true, + "has_license_text": false, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "Sindre Sorhus", + "primary_language": "JavaScript", + "other_license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 2 + } + ], + "other_languages": [] + }, "packages": [ { "type": "npm", @@ -79,10 +89,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "extra_data": {}, @@ -99,28 +133,29 @@ "purl": "pkg:npm/is-npm@1.0.0" } ], - "summary": { - "declared_license_expression": "mit", - "license_clarity_score": { - "score": 90, - "declared_license": true, - "identification_precision": true, - "has_license_text": false, - "declared_copyrights": true, - "conflicting_license_categories": false, - "ambiguous_compound_licensing": false - }, - "declared_holder": "Sindre Sorhus", - "primary_language": "JavaScript", - "other_license_expressions": [], - "other_holders": [ - { - "value": null, - "count": 2 - } - ], - "other_languages": [] - }, + "dependencies": [ + { + "purl": "pkg:npm/ava", + "extracted_requirement": "0.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "codebase/package/package.json", + "datasource_id": "npm_package_json" + } + ], + "license_detections": [ + { + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit", + "detection_count": 2 + } + ], "files": [ { "path": "codebase", @@ -138,14 +173,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -153,7 +190,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 3, "dirs_count": 1, "size_count": 1187, @@ -175,14 +211,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -190,7 +228,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 3, "dirs_count": 0, "size_count": 1187, @@ -212,16 +249,18 @@ "is_media": false, "is_source": true, "is_script": false, - "licenses": [], - "license_expressions": [], - "percentage_of_license_text": 0, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [], "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], "emails": [], "urls": [], "is_legal": false, @@ -229,7 +268,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -251,54 +289,6 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ - { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 5, - "end_line": 5, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": " \"license\": \"MIT\"," - } - ], - "license_expressions": [ - "mit" - ], - "percentage_of_license_text": 3.33, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [ { "type": "npm", @@ -337,10 +327,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "file_references": [], @@ -367,6 +381,34 @@ "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 5, + "end_line": 5, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": " \"license\": \"MIT\"," + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + } + ], + "license_clues": [], + "percentage_of_license_text": 3.33, + "copyrights": [], + "holders": [], + "authors": [], "emails": [ { "email": "sindresorhus@gmail.com", @@ -386,7 +428,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": true, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -408,50 +449,34 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ + "package_data": [], + "for_packages": [ + "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 28, - "end_line": 30, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 28, + "end_line": 30, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], "percentage_of_license_text": 2.78, "copyrights": [ { @@ -468,10 +493,6 @@ } ], "authors": [], - "package_data": [], - "for_packages": [ - "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], "emails": [], "urls": [ { @@ -500,7 +521,6 @@ "is_readme": true, "is_top_level": true, "is_key_file": true, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, diff --git a/scanpipe/tests/data/is-npm-1.0.0_scan_package_summary.json b/scanpipe/tests/data/is-npm-1.0.0_scan_package_summary.json index c10cc85a75..174442b6d8 100644 --- a/scanpipe/tests/data/is-npm-1.0.0_scan_package_summary.json +++ b/scanpipe/tests/data/is-npm-1.0.0_scan_package_summary.json @@ -11,7 +11,12 @@ }, "declared_holder": "Sindre Sorhus", "primary_language": "JavaScript", - "other_license_expressions": [], + "other_license_expressions": [ + { + "value": null, + "count": 1 + } + ], "other_holders": [ { "value": null, @@ -49,50 +54,31 @@ "is_archive": false, "is_media": false, "is_key_file": true, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 5, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 5, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit_30.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": " \"license\": \"MIT\",", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 5, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 5, + "matched_text": " \"license\": \"MIT\",", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 3.33, "copyrights": [], "holders": [], "authors": [], @@ -103,6 +89,7 @@ "purl": "pkg:npm/is-npm@1.0.0", "sha1": null, "type": "npm", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -152,13 +139,36 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": [ - "MIT" - ], "primary_language": "JavaScript", - "license_expression": "mit", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], "repository_download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "repository_homepage_url": "https://www.npmjs.com/package/is-npm" + "repository_homepage_url": "https://www.npmjs.com/package/is-npm", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "['MIT']", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" } ], "for_packages": [ @@ -198,50 +208,31 @@ "is_archive": false, "is_media": false, "is_key_file": true, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 30, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 28, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit_30.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 28, + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 2.78, "copyrights": [ { "end_line": 30, @@ -330,14 +321,38 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit", - "declared_license": "['MIT']", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": "", "source_packages": [], "extra_data": {}, "package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], diff --git a/scanpipe/tests/data/manifests/package.expected.json b/scanpipe/tests/data/manifests/package.expected.json index ab09eb47b0..8695981137 100644 --- a/scanpipe/tests/data/manifests/package.expected.json +++ b/scanpipe/tests/data/manifests/package.expected.json @@ -32,10 +32,34 @@ "code_view_url": null, "vcs_url": "https://github.com/electron/electron", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "file_references": [], diff --git a/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package.json b/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package.json index f57fcd8dba..9296f1d7fe 100644 --- a/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package.json +++ b/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package.json @@ -7,7 +7,6 @@ "--copyright": true, "--email": true, "--info": true, - "--is-license-text": true, "--license": true, "--license-text": true, "--package": true, @@ -15,46 +14,43 @@ "--url": true }, "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "output_format_version": "2.0.0", + "output_format_version": "3.0.0", "message": null, "errors": [], "warnings": [], "extra_data": { - "spdx_license_list_version": "3.18", + "spdx_license_list_version": "3.20", "files_count": 6 } } ], - "dependencies": [ - { - "purl": "pkg:npm/ava", - "extracted_requirement": "0.0.3", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "codebase/is-npm/package.json", - "datasource_id": "npm_package_json" + "summary": { + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 90, + "declared_license": true, + "identification_precision": true, + "has_license_text": false, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false }, - { - "purl": "pkg:npm/ava", - "extracted_requirement": "0.0.3", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "codebase/is-npm/node_modules/is-npm/package.json", - "datasource_id": "npm_package_json" - } - ], + "declared_holder": "Sindre Sorhus", + "primary_language": "JavaScript", + "other_license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 4 + } + ], + "other_languages": [] + }, "packages": [ { "type": "npm", @@ -93,10 +89,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "extra_data": {}, @@ -149,10 +169,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "extra_data": {}, @@ -169,28 +213,43 @@ "purl": "pkg:npm/is-npm@1.0.0" } ], - "summary": { - "declared_license_expression": "mit", - "license_clarity_score": { - "score": 90, - "declared_license": true, - "identification_precision": true, - "has_license_text": false, - "declared_copyrights": true, - "conflicting_license_categories": false, - "ambiguous_compound_licensing": false + "dependencies": [ + { + "purl": "pkg:npm/ava", + "extracted_requirement": "0.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "codebase/is-npm/package.json", + "datasource_id": "npm_package_json" }, - "declared_holder": "Sindre Sorhus", - "primary_language": "JavaScript", - "other_license_expressions": [], - "other_holders": [ - { - "value": null, - "count": 4 - } - ], - "other_languages": [] - }, + { + "purl": "pkg:npm/ava", + "extracted_requirement": "0.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "codebase/is-npm/node_modules/is-npm/package.json", + "datasource_id": "npm_package_json" + } + ], + "license_detections": [ + { + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit", + "detection_count": 4 + } + ], "files": [ { "path": "codebase", @@ -208,14 +267,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -223,7 +284,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 6, "dirs_count": 3, "size_count": 2374, @@ -245,14 +305,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -260,7 +322,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 6, "dirs_count": 2, "size_count": 2374, @@ -282,16 +343,18 @@ "is_media": false, "is_source": true, "is_script": false, - "licenses": [], - "license_expressions": [], - "percentage_of_license_text": 0, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [], "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], "emails": [], "urls": [], "is_legal": false, @@ -299,7 +362,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -321,14 +383,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -336,7 +400,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": false, - "is_license_text": false, "files_count": 3, "dirs_count": 1, "size_count": 1187, @@ -358,14 +421,16 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [], - "license_expressions": [], + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], "percentage_of_license_text": 0, "copyrights": [], "holders": [], "authors": [], - "package_data": [], - "for_packages": [], "emails": [], "urls": [], "is_legal": false, @@ -373,7 +438,6 @@ "is_readme": false, "is_top_level": false, "is_key_file": false, - "is_license_text": false, "files_count": 3, "dirs_count": 0, "size_count": 1187, @@ -395,16 +459,18 @@ "is_media": false, "is_source": true, "is_script": false, - "licenses": [], - "license_expressions": [], - "percentage_of_license_text": 0, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [], "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], "emails": [], "urls": [], "is_legal": false, @@ -412,7 +478,6 @@ "is_readme": false, "is_top_level": false, "is_key_file": false, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -434,54 +499,6 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ - { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 5, - "end_line": 5, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": " \"license\": \"MIT\"," - } - ], - "license_expressions": [ - "mit" - ], - "percentage_of_license_text": 3.33, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [ { "type": "npm", @@ -520,10 +537,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "file_references": [], @@ -550,6 +591,34 @@ "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 5, + "end_line": 5, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": " \"license\": \"MIT\"," + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + } + ], + "license_clues": [], + "percentage_of_license_text": 3.33, + "copyrights": [], + "holders": [], + "authors": [], "emails": [ { "email": "sindresorhus@gmail.com", @@ -569,7 +638,6 @@ "is_readme": false, "is_top_level": false, "is_key_file": false, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -591,50 +659,34 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ + "package_data": [], + "for_packages": [ + "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 28, - "end_line": 30, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 28, + "end_line": 30, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], "percentage_of_license_text": 2.78, "copyrights": [ { @@ -651,10 +703,6 @@ } ], "authors": [], - "package_data": [], - "for_packages": [ - "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], "emails": [], "urls": [ { @@ -683,7 +731,6 @@ "is_readme": true, "is_top_level": false, "is_key_file": false, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -705,54 +752,6 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ - { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 5, - "end_line": 5, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": " \"license\": \"MIT\"," - } - ], - "license_expressions": [ - "mit" - ], - "percentage_of_license_text": 3.33, - "copyrights": [], - "holders": [], - "authors": [], "package_data": [ { "type": "npm", @@ -791,10 +790,34 @@ "code_view_url": null, "vcs_url": "https://github.com/sindresorhus/is-npm", "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": null, "source_packages": [], "file_references": [], @@ -821,6 +844,34 @@ "for_packages": [ "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 5, + "end_line": 5, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": " \"license\": \"MIT\"," + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + } + ], + "license_clues": [], + "percentage_of_license_text": 3.33, + "copyrights": [], + "holders": [], + "authors": [], "emails": [ { "email": "sindresorhus@gmail.com", @@ -840,7 +891,6 @@ "is_readme": false, "is_top_level": true, "is_key_file": true, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -862,50 +912,34 @@ "is_media": false, "is_source": false, "is_script": false, - "licenses": [ + "package_data": [], + "for_packages": [ + "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "score": 100.0, - "name": "MIT License", - "short_name": "MIT License", - "category": "Permissive", - "is_exception": false, - "is_unknown": false, - "owner": "MIT", - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "text_url": "http://opensource.org/licenses/mit-license.php", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "spdx_license_key": "MIT", - "spdx_url": "https://spdx.org/licenses/MIT", - "start_line": 28, - "end_line": 30, - "matched_rule": { - "identifier": "mit_30.RULE", - "license_expression": "mit", - "licenses": [ - "mit" - ], - "referenced_filenames": [], - "is_license_text": false, - "is_license_notice": false, - "is_license_reference": false, - "is_license_tag": true, - "is_license_intro": false, - "has_unknown": false, - "matcher": "2-aho", - "rule_length": 2, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100 - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 28, + "end_line": 30, + "matched_length": 2, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], "percentage_of_license_text": 2.78, "copyrights": [ { @@ -922,10 +956,6 @@ } ], "authors": [], - "package_data": [], - "for_packages": [ - "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], "emails": [], "urls": [ { @@ -954,7 +984,6 @@ "is_readme": true, "is_top_level": true, "is_key_file": true, - "is_license_text": false, "files_count": 0, "dirs_count": 0, "size_count": 0, diff --git a/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package_summary.json b/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package_summary.json index 6a561eb1fc..94602839a3 100644 --- a/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package_summary.json +++ b/scanpipe/tests/data/multiple-is-npm-1.0.0_scan_package_summary.json @@ -11,7 +11,12 @@ }, "declared_holder": "Sindre Sorhus", "primary_language": "JavaScript", - "other_license_expressions": [], + "other_license_expressions": [ + { + "value": null, + "count": 1 + } + ], "other_holders": [ { "value": null, @@ -57,50 +62,31 @@ "is_archive": false, "is_media": false, "is_key_file": true, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 5, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 5, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit_30.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": " \"license\": \"MIT\",", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 5, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 5, + "matched_text": " \"license\": \"MIT\",", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 3.33, "copyrights": [], "holders": [], "authors": [], @@ -111,6 +97,7 @@ "purl": "pkg:npm/is-npm@1.0.0", "sha1": null, "type": "npm", + "holder": null, "sha256": null, "sha512": null, "parties": [ @@ -160,13 +147,36 @@ "file_references": [], "source_packages": [], "bug_tracking_url": null, - "declared_license": [ - "MIT" - ], "primary_language": "JavaScript", - "license_expression": "mit", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], "repository_download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "repository_homepage_url": "https://www.npmjs.com/package/is-npm" + "repository_homepage_url": "https://www.npmjs.com/package/is-npm", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "['MIT']", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" } ], "for_packages": [ @@ -206,50 +216,31 @@ "is_archive": false, "is_media": false, "is_key_file": true, - "licenses": [ + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ { - "key": "mit", - "name": "MIT License", - "owner": "MIT", - "score": 100.0, - "category": "Permissive", - "end_line": 30, - "spdx_url": "https://spdx.org/licenses/MIT", - "text_url": "http://opensource.org/licenses/mit-license.php", - "is_unknown": false, - "short_name": "MIT License", - "start_line": 28, - "homepage_url": "http://opensource.org/licenses/mit-license.php", - "is_exception": false, - "matched_rule": { - "matcher": "2-aho", - "licenses": [ - "mit" - ], - "identifier": "mit_30.RULE", - "has_unknown": false, - "rule_length": 2, - "is_license_tag": true, - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "is_license_text": false, - "is_license_intro": false, - "is_license_notice": false, - "license_expression": "mit", - "is_license_reference": false, - "referenced_filenames": [] - }, - "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", - "reference_url": "https://scancode-licensedb.aboutcode.org/mit", - "spdx_license_key": "MIT", - "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml", - "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 28, + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" } ], - "license_expressions": [ - "mit" - ], + "license_clues": [], + "percentage_of_license_text": 2.78, "copyrights": [ { "end_line": 30, @@ -338,14 +329,38 @@ "sha256": "", "sha512": "", "copyright": "", - "license_expression": "mit", - "declared_license": "['MIT']", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "['MIT']", "notice_text": "", "source_packages": [], "extra_data": {}, "package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "manifest_path": "", - "contains_source_code": null, "datasource_id": "", "file_references": [], "missing_resources": [], diff --git a/scanpipe/tests/data/outputs/expected_attribution.html b/scanpipe/tests/data/outputs/expected_attribution.html index 5c6fa6046d..ece93ad06a 100644 --- a/scanpipe/tests/data/outputs/expected_attribution.html +++ b/scanpipe/tests/data/outputs/expected_attribution.html @@ -94,21 +94,20 @@

Classpath-exception-2.0

which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement -from your version. - +from your version.

GPL-2.0-only

                    GNU GENERAL PUBLIC LICENSE
                        Version 2, June 1991
-
+ 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
-
+ 
                             Preamble
-
+ 
   The licenses for most software are designed to take away your
 freedom to share and change it.  By contrast, the GNU General Public
 License is intended to guarantee your freedom to share and change free
@@ -118,48 +117,48 @@ 

GPL-2.0-only

using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. - + When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - + To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - + For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - + We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - + Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. - + Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. - + The precise terms and conditions for copying, distribution and modification follow. - + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - + 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, @@ -169,14 +168,14 @@

GPL-2.0-only

either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - + Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - + 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate @@ -184,23 +183,23 @@

GPL-2.0-only

notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - + You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - + 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - + a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - + b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - + c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an @@ -211,7 +210,7 @@

GPL-2.0-only

License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -221,38 +220,38 @@

GPL-2.0-only

on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - + Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - + In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - + 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - + a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - + b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - + c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - + The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any @@ -263,13 +262,13 @@

GPL-2.0-only

form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - + If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is @@ -277,7 +276,7 @@

GPL-2.0-only

However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - + 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are @@ -286,7 +285,7 @@

GPL-2.0-only

Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - + 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to @@ -294,7 +293,7 @@

GPL-2.0-only

restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - + 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or @@ -307,12 +306,12 @@

GPL-2.0-only

all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - + If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - + It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the @@ -323,10 +322,10 @@

GPL-2.0-only

system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - + This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License @@ -334,12 +333,12 @@

GPL-2.0-only

those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - + 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - + Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions @@ -347,7 +346,7 @@

GPL-2.0-only

Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - + 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free @@ -355,9 +354,9 @@

GPL-2.0-only

make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - + NO WARRANTY - + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES @@ -367,7 +366,7 @@

GPL-2.0-only

TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, @@ -377,68 +376,67 @@

GPL-2.0-only

YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - + END OF TERMS AND CONDITIONS - + How to Apply These Terms to Your New Programs - + If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - + To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - + <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - + Also add information on how to contact you by electronic and paper mail. - + If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. - + The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. - + You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: - + Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. - + <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice - + This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. -
+Public License instead of this License.

MIT

diff --git a/scanpipe/tests/data/package_assembly_codebase.json b/scanpipe/tests/data/package_assembly_codebase.json deleted file mode 100644 index c64c572b20..0000000000 --- a/scanpipe/tests/data/package_assembly_codebase.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "31.0.0rc5", - "options": { - "input": [ - "/tmp/test" - ], - "--info": true, - "--json-pp": "/home/jono/Desktop/package_assembly_codebase.json", - "--package": true - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2022-08-12T011956.852635", - "end_timestamp": "2022-08-12T011959.120759", - "output_format_version": "2.0.0", - "duration": 2.2681386470794678, - "message": null, - "errors": [], - "warnings": [], - "extra_data": { - "system_environment": { - "operating_system": "linux", - "cpu_architecture": "64", - "platform": "Linux-5.4.0-122-generic-x86_64-with-glibc2.27", - "platform_version": "#138~18.04.1-Ubuntu SMP Fri Jun 24 14:14:03 UTC 2022", - "python_version": "3.10.4 (main, May 22 2022, 00:46:26) [GCC 7.5.0]" - }, - "spdx_license_list_version": "3.18", - "files_count": 3 - } - } - ], - "dependencies": [], - "packages": [], - "files": [ - { - "path": "test", - "type": "directory", - "name": "test", - "base_name": "test", - "extension": "", - "size": 0, - "date": null, - "sha1": null, - "md5": null, - "sha256": null, - "mime_type": null, - "file_type": null, - "programming_language": null, - "is_binary": false, - "is_text": false, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [], - "for_packages": [], - "files_count": 3, - "dirs_count": 2, - "size_count": 63, - "scan_errors": [] - }, - { - "path": "test/get_package_resources", - "type": "directory", - "name": "get_package_resources", - "base_name": "get_package_resources", - "extension": "", - "size": 0, - "date": null, - "sha1": null, - "md5": null, - "sha256": null, - "mime_type": null, - "file_type": null, - "programming_language": null, - "is_binary": false, - "is_text": false, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [], - "for_packages": [], - "files_count": 3, - "dirs_count": 1, - "size_count": 63, - "scan_errors": [] - }, - { - "path": "test/get_package_resources/package.json", - "type": "file", - "name": "package.json", - "base_name": "package", - "extension": ".json", - "size": 63, - "date": "2022-07-27", - "sha1": "47ad6746a065a22a4c2a119cb425c250bddfbf88", - "md5": "5cbb43ca814ec801e8673e348e8eec19", - "sha256": "aac331f407d4d662a2897eafeb4f05a1c2343218220d99779c9553d3b92bd4ac", - "mime_type": "application/json", - "file_type": "JSON data", - "programming_language": null, - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [ - { - "type": "npm", - "namespace": null, - "name": "test", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" - ], - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://www.npmjs.com/package/test", - "repository_download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/test/0.1.0", - "datasource_id": "npm_package_json", - "purl": "pkg:npm/test@0.1.0" - } - ], - "for_packages": [], - "files_count": 0, - "dirs_count": 0, - "size_count": 0, - "scan_errors": [] - }, - { - "path": "test/get_package_resources/this-should-be-returned", - "type": "file", - "name": "this-should-be-returned", - "base_name": "this-should-be-returned", - "extension": "", - "size": 0, - "date": "2022-07-27", - "sha1": null, - "md5": null, - "sha256": null, - "mime_type": "inode/x-empty", - "file_type": "empty", - "programming_language": null, - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [], - "for_packages": [], - "files_count": 0, - "dirs_count": 0, - "size_count": 0, - "scan_errors": [] - }, - { - "path": "test/get_package_resources/node_modules", - "type": "directory", - "name": "node_modules", - "base_name": "node_modules", - "extension": "", - "size": 0, - "date": null, - "sha1": null, - "md5": null, - "sha256": null, - "mime_type": null, - "file_type": null, - "programming_language": null, - "is_binary": false, - "is_text": false, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [], - "for_packages": [], - "files_count": 1, - "dirs_count": 0, - "size_count": 0, - "scan_errors": [] - }, - { - "path": "test/get_package_resources/node_modules/this-should-not-be-returned", - "type": "file", - "name": "this-should-not-be-returned", - "base_name": "this-should-not-be-returned", - "extension": "", - "size": 0, - "date": "2022-07-27", - "sha1": null, - "md5": null, - "sha256": null, - "mime_type": "inode/x-empty", - "file_type": "empty", - "programming_language": null, - "is_binary": false, - "is_text": true, - "is_archive": false, - "is_media": false, - "is_source": false, - "is_script": false, - "package_data": [], - "for_packages": [], - "files_count": 0, - "dirs_count": 0, - "size_count": 0, - "scan_errors": [] - } - ] -} \ No newline at end of file diff --git a/scanpipe/tests/data/scancode/is-npm-1.0.0_summary.json b/scanpipe/tests/data/scancode/is-npm-1.0.0_summary.json new file mode 100644 index 0000000000..b96a04270d --- /dev/null +++ b/scanpipe/tests/data/scancode/is-npm-1.0.0_summary.json @@ -0,0 +1,372 @@ +{ + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 90, + "declared_license": true, + "identification_precision": true, + "has_license_text": false, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "Sindre Sorhus", + "primary_language": "JavaScript", + "other_license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 2 + } + ], + "other_languages": [], + "license_matches": { + "mit": [ + { + "path": "package/package.json", + "matched_text": " \"license\": \"MIT\"," + }, + { + "path": "package/readme.md", + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)" + } + ] + }, + "key_files": [ + { + "path": "package/package.json", + "type": "file", + "name": "package.json", + "status": "application-package", + "tag": "", + "extension": ".json", + "size": 563, + "md5": "c843e88ecb274d5d573c71be330bff8b", + "sha1": "943efb8abda9b9cdaa4ea73f5709563b948af50b", + "sha256": "522879426298e078881de533b9b3a82fa3bece1336a84bddacf4620008b5d0a3", + "sha512": "", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": "", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 5, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 5, + "matched_text": " \"license\": \"MIT\",", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" + } + ], + "license_clues": [], + "percentage_of_license_text": 3.33, + "compliance_alert": "", + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [ + { + "md5": null, + "name": "is-npm", + "purl": "pkg:npm/is-npm@1.0.0", + "sha1": null, + "size": null, + "type": "npm", + "holder": null, + "sha256": null, + "sha512": null, + "parties": [ + { + "url": "http://sindresorhus.com", + "name": "Sindre Sorhus", + "role": "author", + "type": "person", + "email": "sindresorhus@gmail.com" + } + ], + "subpath": null, + "vcs_url": "https://github.com/sindresorhus/is-npm", + "version": "1.0.0", + "keywords": [ + "npm", + "is", + "check", + "detect", + "env", + "environment" + ], + "copyright": null, + "namespace": null, + "extra_data": {}, + "qualifiers": {}, + "description": "Check if your code is running as an npm script", + "notice_text": null, + "api_data_url": "https://registry.npmjs.org/is-npm/1.0.0", + "dependencies": [ + { + "purl": "pkg:npm/ava", + "scope": "devDependencies", + "extra_data": {}, + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extracted_requirement": "0.0.3" + } + ], + "download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "homepage_url": null, + "release_date": null, + "code_view_url": null, + "datasource_id": "npm_package_json", + "file_references": [], + "source_packages": [], + "bug_tracking_url": null, + "primary_language": "JavaScript", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], + "repository_download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "repository_homepage_url": "https://www.npmjs.com/package/is-npm", + "other_license_detections": [], + "other_license_expression": null, + "declared_license_expression": "mit", + "extracted_license_statement": "['MIT']", + "other_license_expression_spdx": null, + "declared_license_expression_spdx": "MIT" + } + ], + "for_packages": [ + "pkg:npm/is-npm@1.0.0?uuid=ba110d49-b6f2-4c86-8d89-a6fd34838ca8" + ], + "emails": [ + { + "email": "sindresorhus@gmail.com", + "end_line": 9, + "start_line": 9 + } + ], + "urls": [ + { + "url": "http://sindresorhus.com/", + "end_line": 10, + "start_line": 10 + } + ], + "extra_data": {}, + "content": "{\n \"name\": \"is-npm\",\n \"version\": \"1.0.0\",\n \"description\": \"Check if your code is running as an npm script\",\n \"license\": \"MIT\",\n \"repository\": \"sindresorhus/is-npm\",\n \"author\": {\n \"name\": \"Sindre Sorhus\",\n \"email\": \"sindresorhus@gmail.com\",\n \"url\": \"http://sindresorhus.com\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n },\n \"scripts\": {\n \"test\": \"node test.js\"\n },\n \"files\": [\n \"index.js\"\n ],\n \"keywords\": [\n \"npm\",\n \"is\",\n \"check\",\n \"detect\",\n \"env\",\n \"environment\"\n ],\n \"devDependencies\": {\n \"ava\": \"0.0.3\"\n }\n}\n" + }, + { + "path": "package/readme.md", + "type": "file", + "name": "readme.md", + "status": "application-package", + "tag": "", + "extension": ".md", + "size": 477, + "md5": "a743e0abf08c28a37ecc4bef4dc02f8c", + "sha1": "b77832e53cb8239edd733c2ca02b1fc01ca3c2b6", + "sha256": "e98b263545fe62a00c73b57412cbdbcd0792e013a76f9c88342623ab5e8467c1", + "sha512": "", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text", + "programming_language": "", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "2-aho", + "end_line": 30, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "start_line": 28, + "matched_text": "## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "license_expression": "mit" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit" + } + ], + "license_clues": [], + "percentage_of_license_text": 2.78, + "compliance_alert": "", + "copyrights": [ + { + "end_line": 30, + "copyright": "(c) Sindre Sorhus (http://sindresorhus.com)", + "start_line": 30 + } + ], + "holders": [ + { + "holder": "Sindre Sorhus", + "end_line": 30, + "start_line": 30 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/is-npm@1.0.0?uuid=ba110d49-b6f2-4c86-8d89-a6fd34838ca8" + ], + "emails": [], + "urls": [ + { + "url": "https://travis-ci.org/sindresorhus/is-npm.svg?branch=master", + "end_line": 1, + "start_line": 1 + }, + { + "url": "https://travis-ci.org/sindresorhus/is-npm", + "end_line": 1, + "start_line": 1 + }, + { + "url": "https://www.npmjs.org/doc/misc/npm-scripts.html", + "end_line": 3, + "start_line": 3 + }, + { + "url": "http://sindresorhus.com/", + "end_line": 30, + "start_line": 30 + } + ], + "extra_data": {}, + "content": "# is-npm [![Build Status](https://travis-ci.org/sindresorhus/is-npm.svg?branch=master)](https://travis-ci.org/sindresorhus/is-npm)\n\n> Check if your code is running as an [npm script](https://www.npmjs.org/doc/misc/npm-scripts.html)\n\n\n## Install\n\n```sh\n$ npm install --save is-npm\n```\n\n\n## Usage\n\n```js\nvar isNpm = require('is-npm');\nconsole.log(isNpm);\n```\n\n```sh\n$ node foo.js\n#=> false\n$ npm run foo\n#=> true\n```\n\n\n## License\n\nMIT \u00a9 [Sindre Sorhus](http://sindresorhus.com)\n" + } + ], + "key_files_packages": [ + { + "purl": "pkg:npm/is-npm@1.0.0", + "type": "npm", + "namespace": "", + "name": "is-npm", + "version": "1.0.0", + "qualifiers": "", + "subpath": "", + "primary_language": "JavaScript", + "description": "Check if your code is running as an npm script", + "release_date": null, + "parties": [ + { + "url": "http://sindresorhus.com", + "name": "Sindre Sorhus", + "role": "author", + "type": "person", + "email": "sindresorhus@gmail.com" + } + ], + "keywords": [ + "npm", + "is", + "check", + "detect", + "env", + "environment" + ], + "homepage_url": "", + "download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "bug_tracking_url": "", + "code_view_url": "", + "vcs_url": "https://github.com/sindresorhus/is-npm", + "repository_homepage_url": "https://www.npmjs.com/package/is-npm", + "repository_download_url": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-npm/1.0.0", + "size": null, + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "copyright": "", + "holder": "", + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "1-spdx-id", + "end_line": 1, + "rule_url": null, + "start_line": 1, + "matched_text": "MIT", + "match_coverage": 100.0, + "matched_length": 1, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "license_expression": "mit" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "['MIT']", + "notice_text": "", + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:npm/is-npm@1.0.0?uuid=ba110d49-b6f2-4c86-8d89-a6fd34838ca8", + "datasource_id": "", + "file_references": [], + "missing_resources": [], + "modified_resources": [] + } + ] +} \ No newline at end of file diff --git a/scanpipe/tests/data/scancode/package_assembly_codebase.json b/scanpipe/tests/data/scancode/package_assembly_codebase.json new file mode 100644 index 0000000000..272763e895 --- /dev/null +++ b/scanpipe/tests/data/scancode/package_assembly_codebase.json @@ -0,0 +1,364 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "32.0.0rc4", + "options": { + "input": [ + "/tmp/tmp1kvnzy78/projects/asgiref-4c7f2e2e/codebase/package_assembly_codebase.tar.gz-extract" + ], + "--info": true, + "--json-pp": "scancode.io/scanpipe/tests/data/scancode/package_assembly_codebase.json", + "--package": true, + "--processes": "-1", + "--verbose": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2023-05-15T084938.496922", + "end_timestamp": "2023-05-15T084939.909428", + "output_format_version": "3.0.0", + "duration": 1.412513017654419, + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "system_environment": { + "operating_system": "mac", + "cpu_architecture": "64", + "platform": "macOS-13.3.1-arm64-arm-64bit", + "platform_version": "Darwin Kernel Version 22.4.0: Mon Mar 6 20:59:28 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6000", + "python_version": "3.10.10 (v3.10.10:aad5f6a891, Feb 7 2023, 08:47:40) [Clang 13.0.0 (clang-1300.0.29.30)]" + }, + "spdx_license_list_version": "3.20", + "files_count": 3 + } + } + ], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "test", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/test", + "repository_download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/test/0.1.0", + "package_uid": "pkg:npm/test@0.1.0?uuid=99415083-f4db-4163-b96e-d2e5f1b6b875", + "datafile_paths": [ + "package_assembly_codebase.tar.gz-extract/test/get_package_resources/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/test@0.1.0" + } + ], + "dependencies": [], + "files": [ + { + "path": "package_assembly_codebase.tar.gz-extract", + "type": "directory", + "name": "package_assembly_codebase.tar.gz-extract", + "base_name": "package_assembly_codebase.tar.gz-extract", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "files_count": 3, + "dirs_count": 3, + "size_count": 276, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test", + "type": "directory", + "name": "test", + "base_name": "test", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "files_count": 3, + "dirs_count": 2, + "size_count": 276, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test/get_package_resources", + "type": "directory", + "name": "get_package_resources", + "base_name": "get_package_resources", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "files_count": 3, + "dirs_count": 1, + "size_count": 276, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test/get_package_resources/package.json", + "type": "file", + "name": "package.json", + "base_name": "package", + "extension": ".json", + "size": 276, + "date": "2023-05-12", + "sha1": "d8d1136ce3c69ea3662f55d3da246ed5013a696e", + "md5": "b4da04c192e6366bc56087fcf9c634b7", + "sha256": "386f5dfcc92eef62a974d8c2338e59c7d744fb5422ff5b1c63c7c2a5bbb8816b", + "mime_type": "application/json", + "file_type": "JSON text data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "test", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100.0, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "['MIT']", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/test", + "repository_download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/test/0.1.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test@0.1.0" + } + ], + "for_packages": [ + "pkg:npm/test@0.1.0?uuid=99415083-f4db-4163-b96e-d2e5f1b6b875" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test/get_package_resources/this-should-be-returned", + "type": "file", + "name": "this-should-be-returned", + "base_name": "this-should-be-returned", + "extension": "", + "size": 0, + "date": "2020-02-23", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/test@0.1.0?uuid=99415083-f4db-4163-b96e-d2e5f1b6b875" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test/get_package_resources/node_modules", + "type": "directory", + "name": "node_modules", + "base_name": "node_modules", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "package_assembly_codebase.tar.gz-extract/test/get_package_resources/node_modules/this-should-not-be-returned", + "type": "file", + "name": "this-should-not-be-returned", + "base_name": "this-should-not-be-returned", + "extension": "", + "size": 0, + "date": "2020-02-23", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/scanpipe/tests/data/scancode/package_assembly_codebase.tar.gz b/scanpipe/tests/data/scancode/package_assembly_codebase.tar.gz new file mode 100644 index 0000000000..65b44747fd Binary files /dev/null and b/scanpipe/tests/data/scancode/package_assembly_codebase.tar.gz differ diff --git a/scanpipe/tests/pipes/test_output.py b/scanpipe/tests/pipes/test_output.py index 4e3d75f42c..316acd4a04 100644 --- a/scanpipe/tests/pipes/test_output.py +++ b/scanpipe/tests/pipes/test_output.py @@ -41,6 +41,7 @@ from scanpipe.models import Project from scanpipe.models import ProjectError from scanpipe.pipes import output +from scanpipe.tests import FIXTURES_REGEN from scanpipe.tests import mocked_now from scanpipe.tests import package_data1 @@ -57,7 +58,7 @@ def make_config_directory(project): class ScanPipeOutputPipesTest(TestCase): data_path = Path(__file__).parent.parent / "data" - def assertResultsEqual(self, expected_file, results, regen=False): + def assertResultsEqual(self, expected_file, results, regen=FIXTURES_REGEN): """ Set `regen` to True to regenerate the expected results. """ @@ -215,7 +216,7 @@ def test_scanpipe_pipes_outputs_to_xlsx(self): output_file = output.to_xlsx(project=project) self.assertIn(output_file.name, project.output_root) - def test_scanpipe_pipes_outputs_to_cyclonedx(self, regen=False): + def test_scanpipe_pipes_outputs_to_cyclonedx(self, regen=FIXTURES_REGEN): fixtures = self.data_path / "asgiref-3.3.0_fixtures.json" call_command("loaddata", fixtures, **{"verbosity": 0}) @@ -258,7 +259,7 @@ def test_scanpipe_pipes_outputs_to_spdx(self): results = json.dumps(results_json, indent=2) expected_file = self.data_path / "asgiref-3.3.0.spdx.json" - self.assertResultsEqual(expected_file, results, regen=False) + self.assertResultsEqual(expected_file, results) # Make sure the output can be generated even if the work_directory was wiped shutil.rmtree(project.work_directory) @@ -305,7 +306,7 @@ def test_scanpipe_pipes_outputs_to_attribution(self): project = Project.objects.create(name="Analysis") package_data = dict(package_data1) expression_with_exception = "mit AND gpl-2.0 with classpath-exception-2.0" - package_data["license_expression"] = expression_with_exception + package_data["declared_license_expression"] = expression_with_exception package_data["notice_text"] = "Notice text" pipes.update_or_create_package(project, package_data) @@ -413,13 +414,6 @@ def test__adapt_value_for_xlsx_does_adapt_crlf_to_lf(self): self.assertEqual(result, "some \nsimple \nvalue\n") self.assertEqual(error, None) - def test__adapt_value_for_xlsx_does_adapt_license_expressions(self): - result, error = output._adapt_value_for_xlsx( - fieldname="license_expressions", value=["mit", "mit", "gpl-2.0"] - ) - self.assertEqual(result, "mit AND gpl-2.0") - self.assertEqual(error, None) - def test__adapt_value_for_xlsx_does_adapt_description_and_keeps_only_5_lines(self): twenty_lines = "\r\n".join(str(i) for i in range(20)) diff --git a/scanpipe/tests/pipes/test_resolve.py b/scanpipe/tests/pipes/test_resolve.py index 528309d280..0a8367deee 100644 --- a/scanpipe/tests/pipes/test_resolve.py +++ b/scanpipe/tests/pipes/test_resolve.py @@ -25,7 +25,10 @@ from django.test import TestCase +from scanpipe import pipes +from scanpipe.models import Project from scanpipe.pipes import resolve +from scanpipe.tests import package_data1 class ScanPipeResolvePipesTest(TestCase): @@ -54,21 +57,32 @@ def test_scanpipe_pipes_resolve_get_default_package_type(self): self.assertEqual("cyclonedx", resolve.get_default_package_type(input_location)) def test_scanpipe_pipes_resolve_set_license_expression(self): - declared_license = {"license": "MIT"} - data = resolve.set_license_expression({"declared_license": declared_license}) - self.assertEqual("mit", data.get("license_expression")) + extracted_license_statement = {"license": "MIT"} + data = resolve.set_license_expression( + {"extracted_license_statement": extracted_license_statement} + ) + self.assertEqual("mit", data.get("declared_license_expression")) - declared_license = { + extracted_license_statement = { "classifiers": [ "License :: OSI Approved :: Python Software Foundation License" ] } - data = resolve.set_license_expression({"declared_license": declared_license}) - self.assertEqual("python", data.get("license_expression")) - - declared_license = "GPL 2.0" - data = resolve.set_license_expression({"declared_license": declared_license}) - self.assertEqual("gpl-2.0", data.get("license_expression")) + data = resolve.set_license_expression( + {"extracted_license_statement": extracted_license_statement} + ) + self.assertEqual("python", data.get("declared_license_expression")) + + extracted_license_statement = "GPL 2.0" + data = resolve.set_license_expression( + {"extracted_license_statement": extracted_license_statement} + ) + self.assertEqual("gpl-2.0", data.get("declared_license_expression")) + + def test_scanpipe_pipes_resolve_convert_spdx_expression(self): + spdx = "MIT OR GPL-2.0-only WITH LicenseRef-scancode-generic-exception" + scancode_expression = "mit OR gpl-2.0 WITH generic-exception" + self.assertEqual(scancode_expression, resolve.convert_spdx_expression(spdx)) def test_scanpipe_pipes_resolve_resolve_packages(self): # ScanCode.io resolvers @@ -77,7 +91,7 @@ def test_scanpipe_pipes_resolve_resolve_packages(self): expected = { "filename": "Django-4.0.8-py3-none-any.whl", "download_url": "https://python.org/Django-4.0.8-py3-none-any.whl", - "license_expression": "bsd-new", + "declared_license_expression": "bsd-new", "md5": "386349753c386e574dceca5067e2788a", "name": "django", "sha1": "4cc6f7abda928a0b12cd1f1cd8ad3677519ca04e", @@ -99,7 +113,7 @@ def test_scanpipe_pipes_resolve_resolve_about_packages(self): expected = { "filename": "Django-4.0.8-py3-none-any.whl", "download_url": "https://python.org/Django-4.0.8-py3-none-any.whl", - "license_expression": "bsd-new", + "declared_license_expression": "bsd-new", "md5": "386349753c386e574dceca5067e2788a", "name": "django", "sha1": "4cc6f7abda928a0b12cd1f1cd8ad3677519ca04e", @@ -112,3 +126,32 @@ def test_scanpipe_pipes_resolve_resolve_about_packages(self): package = resolve.resolve_about_packages(str(input_location)) expected = {"name": "project"} self.assertEqual([expected], package) + + def test_scanpipe_pipes_resolve_spdx_package_to_discovered_package_data(self): + p1 = Project.objects.create(name="Analysis") + package = pipes.update_or_create_package(p1, package_data1) + package_spdx = package.as_spdx() + package_data = resolve.spdx_package_to_discovered_package_data(package_spdx) + expected = { + "name": "adduser", + "download_url": "https://download.url/package.zip", + "declared_license_expression": "gpl-2.0 AND gpl-2.0-plus", + "declared_license_expression_spdx": "GPL-2.0-only AND GPL-2.0-or-later", + "extracted_license_statement": "GPL-2.0-only AND GPL-2.0-or-later", + "copyright": ( + "Copyright (c) 2000 Roland Bauerschmidt \n" + "Copyright (c) 1997, 1998, 1999 Guy Maor \n" + "Copyright (c) 1995 Ted Hajek \n" + "portions Copyright (c) 1994 Debian Association, Inc." + ), + "version": "3.118", + "homepage_url": "https://packages.debian.org", + "filename": "package.zip", + "description": "add and remove users and groups", + "release_date": "1999-10-10", + "type": "deb", + "namespace": "debian", + "qualifiers": "arch=all", + "md5": "76cf50f29e47676962645632737365a7", + } + self.assertEqual(expected, package_data) diff --git a/scanpipe/tests/pipes/test_rootfs.py b/scanpipe/tests/pipes/test_rootfs.py index 8d31bc5396..4e8c5e991f 100644 --- a/scanpipe/tests/pipes/test_rootfs.py +++ b/scanpipe/tests/pipes/test_rootfs.py @@ -120,7 +120,7 @@ def test_scanpipe_pipes_rootfs_tag_data_files_with_no_clues(self): path="root/user/bar.data", rootfs_path="/user/bar.data", file_type="data", - license_expressions=["apache-2.0"], + detected_license_expression="apache-2.0", ) rootfs.tag_data_files_with_no_clues(p1) resource1.refresh_from_db() diff --git a/scanpipe/tests/pipes/test_scancode.py b/scanpipe/tests/pipes/test_scancode.py index b14720bbdb..b92612fb6e 100644 --- a/scanpipe/tests/pipes/test_scancode.py +++ b/scanpipe/tests/pipes/test_scancode.py @@ -43,7 +43,7 @@ from scanpipe.pipes import output from scanpipe.pipes import scancode from scanpipe.pipes.input import copy_input -from scanpipe.tests import license_policies_index +from scanpipe.tests import FIXTURES_REGEN scanpipe_app = apps.get_app_config("scanpipe") from_docker_image = os.environ.get("FROM_DOCKER_IMAGE") @@ -148,14 +148,15 @@ def test_scanpipe_pipes_scancode_scan_file(self): input_location = str(self.data_location / "notice.NOTICE") scan_results, scan_errors = scancode.scan_file(input_location) expected = [ + "authors", "copyrights", + "detected_license_expression", + "detected_license_expression_spdx", + "emails", "holders", - "authors", - "licenses", - "license_expressions", - "spdx_license_expressions", + "license_clues", + "license_detections", "percentage_of_license_text", - "emails", "urls", ] self.assertEqual(sorted(expected), sorted(scan_results.keys())) @@ -175,11 +176,12 @@ def test_scanpipe_pipes_scancode_scan_file_timeout(self): self.assertEqual(expected_errors, scan_errors) expected = [ - "licenses", - "license_expressions", - "spdx_license_expressions", - "percentage_of_license_text", + "detected_license_expression", + "detected_license_expression_spdx", "emails", + "license_clues", + "license_detections", + "percentage_of_license_text", "urls", ] self.assertEqual(sorted(expected), sorted(scan_results.keys())) @@ -206,12 +208,8 @@ def test_scanpipe_pipes_scancode_scan_file_and_save_results(self): scancode.save_scan_file_results(codebase_resource2, scan_results, scan_errors) codebase_resource2.refresh_from_db() self.assertEqual("scanned", codebase_resource2.status) - expected = [ - "apache-2.0", - "apache-2.0", - "warranty-disclaimer", - ] - self.assertEqual(expected, codebase_resource2.license_expressions) + expected = "apache-2.0 AND warranty-disclaimer" + self.assertEqual(expected, codebase_resource2.detected_license_expression) def test_scanpipe_pipes_scancode_scan_file_and_save_results_timeout_error(self): project1 = Project.objects.create(name="Analysis") @@ -239,7 +237,7 @@ def test_scanpipe_pipes_scancode_scan_file_and_save_results_timeout_error(self): @mock.patch("scanpipe.pipes.scancode._scan_resource") def test_scanpipe_pipes_scancode_scan_for_files(self, mock_scan_resource): - scan_results = {"license_expressions": ["mit"]} + scan_results = {"detected_license_expression": "mit"} scan_errors = [] mock_scan_resource.return_value = scan_results, scan_errors @@ -260,10 +258,10 @@ def test_scanpipe_pipes_scancode_scan_for_files(self, mock_scan_resource): resource1.refresh_from_db() self.assertEqual("scanned", resource1.status) - self.assertEqual(["mit"], resource1.license_expressions) + self.assertEqual("mit", resource1.detected_license_expression) resource2.refresh_from_db() self.assertEqual("scanned", resource2.status) - self.assertEqual(["mit"], resource2.license_expressions) + self.assertEqual("mit", resource2.detected_license_expression) resource3 = CodebaseResource.objects.create( project=project1, @@ -276,7 +274,7 @@ def test_scanpipe_pipes_scancode_scan_for_files(self, mock_scan_resource): scancode.scan_for_files(project1) resource3.refresh_from_db() self.assertEqual("scanned-with-error", resource3.status) - self.assertEqual([], resource3.license_expressions) + self.assertEqual("", resource3.detected_license_expression) self.assertEqual(["copy"], resource3.copyrights) def test_scanpipe_pipes_scancode_scan_for_package_data_timeout(self): @@ -372,37 +370,6 @@ def test_scanpipe_pipes_scancode_virtual_codebase(self): self.assertEqual(1, DiscoveredPackage.objects.count()) self.assertEqual(1, DiscoveredDependency.objects.count()) - def test_scanpipe_pipes_scancode_create_codebase_resources_inject_policy(self): - project = Project.objects.create(name="asgiref") - # We are using `asgiref-3.3.0_toolkit_scan.json` instead of - # `asgiref-3.3.0_scanpipe_output.json` because it is not exactly the same - # format as a scancode-toolkit scan - input_location = self.data_location / "asgiref-3.3.0_toolkit_scan.json" - virtual_codebase = scancode.get_virtual_codebase(project, input_location) - - scanpipe_app.license_policies_index = license_policies_index - scancode.create_discovered_packages(project, virtual_codebase) - scancode.create_codebase_resources(project, virtual_codebase) - scancode.create_discovered_dependencies( - project, virtual_codebase, strip_datafile_path_root=True - ) - resources = project.codebaseresources - - resource1 = resources.get(path__endswith="asgiref-3.3.0.dist-info/LICENSE") - self.assertEqual("bsd-new", resource1.licenses[0]["key"]) - self.assertNotIn("bsd-new", license_policies_index) - self.assertIsNone(resource1.licenses[0]["policy"]) - - resource2 = resources.get(path__endswith="asgiref/timeout.py") - self.assertEqual("apache-2.0", resource2.licenses[0]["key"]) - expected = { - "label": "Approved License", - "color_code": "#008000", - "license_key": "apache-2.0", - "compliance_alert": "", - } - self.assertEqual(expected, resource2.licenses[0]["policy"]) - def test_scanpipe_pipes_scancode_run_scancode(self): project = Project.objects.create(name="name with space") exitcode, output = scancode.run_scancode( @@ -425,17 +392,36 @@ def test_scanpipe_pipes_scancode_run_scancode_cli_options(self, mock_run_command scancode.run_scancode(location=None, output_file=None, options=[]) self.assertIn("--processes 10", mock_run_command.call_args[0][0]) - def test_scanpipe_pipes_scancode_make_results_summary(self): - project = Project.objects.create(name="Analysis") - scan_results_location = self.data_location / "is-npm-1.0.0_scan_package.json" - summary = scancode.make_results_summary(project, scan_results_location) - self.assertEqual(10, len(summary.keys())) + @skipIf(sys.platform != "linux", "file_type inconsistent across OS.") + def test_scanpipe_pipes_scancode_make_results_summary(self, regen=FIXTURES_REGEN): + # Ensure the policies index is empty to avoid any side effect on results + scanpipe_app.license_policies_index = None + # Run the scan_package pipeline to have a proper DB and local files setup + pipeline_name = "scan_package" + project1 = Project.objects.create(name="Analysis") - scan_results_location = ( - self.data_location / "multiple-is-npm-1.0.0_scan_package.json" - ) - summary = scancode.make_results_summary(project, scan_results_location) - self.assertEqual(10, len(summary.keys())) + input_location = self.data_location / "is-npm-1.0.0.tgz" + project1.copy_input_from(input_location) + + run = project1.add_pipeline(pipeline_name) + pipeline = run.make_pipeline_instance() + exitcode, out = pipeline.execute() + self.assertEqual(0, exitcode, msg=out) + + # Forcing package_uid for proper assertion with expected results + package = project1.discoveredpackages.get() + uuid = "ba110d49-b6f2-4c86-8d89-a6fd34838ca8" + package.package_uid = f"pkg:npm/is-npm@1.0.0?uuid={uuid}" + package.save() + + scan_output_location = self.data_location / "is-npm-1.0.0_scan_package.json" + summary = scancode.make_results_summary(project1, scan_output_location) + + expected_location = self.data_location / "scancode/is-npm-1.0.0_summary.json" + if regen: + expected_location.write_text(json.dumps(summary, indent=2)) + + self.assertJSONEqual(expected_location.read_text(), summary) def test_scanpipe_pipes_scancode_load_inventory_from_toolkit_scan(self): project = Project.objects.create(name="Analysis") @@ -486,10 +472,13 @@ def test_scanpipe_pipes_scancode_load_inventory_from_scanpipe_with_relations(sel def test_scanpipe_pipes_scancode_assemble_packages(self): project = Project.objects.create(name="Analysis") - project_scan_location = self.data_location / "package_assembly_codebase.json" + filename = "package_assembly_codebase.json" + project_scan_location = self.data_location / "scancode" / filename scancode.load_inventory_from_toolkit_scan(project, project_scan_location) + project.discoveredpackages.all().delete() self.assertEqual(0, project.discoveredpackages.count()) + scancode.assemble_packages(project) self.assertEqual(1, project.discoveredpackages.count()) @@ -498,7 +487,7 @@ def test_scanpipe_pipes_scancode_assemble_packages(self): associated_resources = [r.path for r in package.codebase_resources.all()] expected_resources = [ - "get_package_resources/package.json", - "get_package_resources/this-should-be-returned", + "test/get_package_resources/package.json", + "test/get_package_resources/this-should-be-returned", ] self.assertEqual(sorted(expected_resources), sorted(associated_resources)) diff --git a/scanpipe/tests/regen_test_data.py b/scanpipe/tests/regen_test_data.py index e647036737..596b1d9b71 100644 --- a/scanpipe/tests/regen_test_data.py +++ b/scanpipe/tests/regen_test_data.py @@ -28,7 +28,9 @@ from scanpipe.models import Project from scanpipe.pipes import codebase +from scanpipe.pipes import input from scanpipe.pipes import output +from scanpipe.pipes import scancode class RegenTestData(TestCase): @@ -48,6 +50,9 @@ class RegenTestData(TestCase): - Docker: $ docker compose run --volume "$(pwd)":/app web \ ./manage.py test --pattern "regen*.py" + + Warning: Once the test data is updated, run the whole test suite with the + `SCANCODEIO_TEST_FIXTURES_REGEN` setting enabled to regen the expected files. """ data_location = Path(__file__).parent / "data" @@ -67,7 +72,13 @@ def test_regen_asgiref_test_files(self): exitcode, _ = pipeline.execute() self.assertEqual(0, exitcode) - # Scan results + # ScanCode-toolkit scan result + scan_options = ["--copyright", "--info", "--license", "--package"] + scan_location = str(project1.codebase_path) + output_location = str(self.data_location / "asgiref-3.3.0_toolkit_scan.json") + scancode.run_scancode(scan_location, output_location, scan_options) + + # ScanCode.io results test_file_location = self.data_location / "asgiref-3.3.0_scanpipe_output.json" result_file = output.to_json(project1) result_json = json.loads(Path(result_file).read_text()) @@ -105,3 +116,18 @@ def test_regen_asgiref_test_files(self): pc = codebase.ProjectCodebase(project1) project_tree = codebase.get_codebase_tree(codebase=pc, fields=["name", "path"]) test_file_location.write_text(json.dumps(project_tree, indent=2)) + + # Load inventory expected file + project2 = Project.objects.create(name="package_assembly") + filename = "package_assembly_codebase.tar.gz" + input_file = self.data_location / "scancode" / filename + project2.copy_input_from(input_location) + input.copy_input(input_file, project2.codebase_path) + scancode.extract_archives(location=project2.codebase_path) + scan_options = ["--info", "--package"] + scan_location = str( + project2.codebase_path / "package_assembly_codebase.tar.gz-extract/" + ) + json_filename = "package_assembly_codebase.json" + output_location = str(self.data_location / "scancode" / json_filename) + scancode.run_scancode(scan_location, output_location, scan_options) diff --git a/scanpipe/tests/test_api.py b/scanpipe/tests/test_api.py index 5064b8e563..786ef5668d 100644 --- a/scanpipe/tests/test_api.py +++ b/scanpipe/tests/test_api.py @@ -367,8 +367,15 @@ def test_scanpipe_api_project_action_resources(self): ) self.assertEqual("", resource["compliance_alert"]) - self.resource1.compliance_alert = CodebaseResource.Compliance.ERROR - self.resource1.save() + + # Using update() to bypass the `compute_compliance_alert` call triggered + # when using save(). + # The purpose of this test is not to assert on the compliance_alert computation + # but rather to test the render in the REST API. + CodebaseResource.objects.filter(id=self.resource1.id).update( + compliance_alert=CodebaseResource.Compliance.ERROR + ) + response = self.csrf_client.get(url) self.assertEqual("error", response.data["results"][0]["compliance_alert"]) @@ -719,9 +726,9 @@ def test_scanpipe_api_serializer_get_model_serializer(self): get_model_serializer(None) def test_scanpipe_api_serializer_get_serializer_fields(self): - self.assertEqual(38, len(get_serializer_fields(DiscoveredPackage))) + self.assertEqual(42, len(get_serializer_fields(DiscoveredPackage))) self.assertEqual(11, len(get_serializer_fields(DiscoveredDependency))) - self.assertEqual(30, len(get_serializer_fields(CodebaseResource))) + self.assertEqual(33, len(get_serializer_fields(CodebaseResource))) self.assertEqual(3, len(get_serializer_fields(CodebaseRelation))) self.assertEqual(6, len(get_serializer_fields(ProjectError))) diff --git a/scanpipe/tests/test_models.py b/scanpipe/tests/test_models.py index f0d70adeff..1a0cd0cd82 100644 --- a/scanpipe/tests/test_models.py +++ b/scanpipe/tests/test_models.py @@ -850,135 +850,53 @@ def test_scanpipe_codebase_resource_model_file_content(self): line_count = len(resource.file_content.split("\n")) self.assertEqual(101, line_count) - def test_scanpipe_codebase_resource_model_unique_license_expressions(self): - resource = CodebaseResource(project=self.project1) - resource.license_expressions = [ - "mit", - "apache-2.0", - "apache-2.0", - "mit AND apache-2.0", - "gpl-3.0", - ] - expected = ["apache-2.0", "gpl-3.0", "mit", "mit AND apache-2.0"] - self.assertEqual(expected, resource.unique_license_expressions) - - def test_scanpipe_pipes_codebase_resources_inject_licenses_policy(self): - resource = CodebaseResource( - licenses=[ - {"key": "mit"}, - {"key": "apache-2.0"}, - {"key": "gpl-3.0"}, - ] - ) - - expected = [ - {"key": "mit", "policy": None}, - { - "key": "apache-2.0", - "policy": { - "color_code": "#008000", - "compliance_alert": "", - "label": "Approved License", - "license_key": "apache-2.0", - }, - }, - { - "key": "gpl-3.0", - "policy": { - "color_code": "#c83025", - "compliance_alert": "error", - "label": "Prohibited License", - "license_key": "gpl-3.0", - }, - }, - ] - - resource.inject_licenses_policy(license_policies_index) - self.assertEqual(expected, resource.licenses) - - def test_scanpipe_pipes_scancode_codebase_resources_inject_policy_on_save(self): - scanpipe_app.license_policies_index = license_policies_index - - resource = CodebaseResource.objects.create( - project=self.project1, path="file", licenses=[{"key": "gpl-3.0"}] - ) - expected = [ - { - "key": "gpl-3.0", - "policy": { - "color_code": "#c83025", - "compliance_alert": "error", - "label": "Prohibited License", - "license_key": "gpl-3.0", - }, - } - ] - self.assertEqual(expected, resource.licenses) - - resource.licenses = [{"key": "not-in-index"}] - resource.save() - expected = [{"key": "not-in-index", "policy": None}] - self.assertEqual(expected, resource.licenses) - - resource.licenses = [{"key": "apache-2.0"}] - resource.save() - expected = [ - { - "key": "apache-2.0", - "policy": { - "color_code": "#008000", - "compliance_alert": "", - "label": "Approved License", - "license_key": "apache-2.0", - }, - } - ] - self.assertEqual(expected, resource.licenses) - def test_scanpipe_codebase_resource_model_compliance_alert(self): scanpipe_app.license_policies_index = license_policies_index resource = CodebaseResource.objects.create(project=self.project1, path="file") self.assertEqual("", resource.compliance_alert) - license_key = "bsd-new" - self.assertNotIn(license_key, scanpipe_app.license_policies_index) - resource.licenses = [{"key": license_key}] + license_expression = "bsd-new" + self.assertNotIn(license_expression, scanpipe_app.license_policies_index) + resource.detected_license_expression = license_expression resource.save() self.assertEqual("missing", resource.compliance_alert) - license_key = "apache-2.0" - self.assertIn(license_key, scanpipe_app.license_policies_index) - resource.licenses = [{"key": license_key}] + license_expression = "apache-2.0" + self.assertIn(license_expression, scanpipe_app.license_policies_index) + resource.detected_license_expression = license_expression resource.save() self.assertEqual("ok", resource.compliance_alert) - license_key = "mpl-2.0" - self.assertIn(license_key, scanpipe_app.license_policies_index) - resource.licenses = [{"key": license_key}] + license_expression = "mpl-2.0" + self.assertIn(license_expression, scanpipe_app.license_policies_index) + resource.detected_license_expression = license_expression resource.save() self.assertEqual("warning", resource.compliance_alert) - license_key = "gpl-3.0" - self.assertIn(license_key, scanpipe_app.license_policies_index) - resource.licenses = [{"key": license_key}] + license_expression = "gpl-3.0" + self.assertIn(license_expression, scanpipe_app.license_policies_index) + resource.detected_license_expression = license_expression resource.save() self.assertEqual("error", resource.compliance_alert) - resource.licenses = [ - {"key": "apache-2.0"}, - {"key": "mpl-2.0"}, - {"key": "gpl-3.0"}, - ] + license_expression = "apache-2.0 AND mpl-2.0 OR gpl-3.0" + resource.detected_license_expression = license_expression resource.save() self.assertEqual("error", resource.compliance_alert) + # Reset the index value + scanpipe_app.license_policies_index = None + def test_scanpipe_scan_fields_model_mixin_methods(self): expected = [ + "detected_license_expression", + "detected_license_expression_spdx", + "license_detections", + "license_clues", + "percentage_of_license_text", "copyrights", "holders", "authors", - "licenses", - "license_expressions", "emails", "urls", ] @@ -989,19 +907,19 @@ def test_scanpipe_scan_fields_model_mixin_methods(self): ) scan_results = { - "license_expressions": ["mit"], + "detected_license_expression": "mit", "name": "name", "non_resource_field": "value", } resource.set_scan_results(scan_results, save=True) resource.refresh_from_db() self.assertEqual("", resource.name) - self.assertEqual(["mit"], resource.license_expressions) + self.assertEqual("mit", resource.detected_license_expression) resource2 = CodebaseResource.objects.create(project=self.project1, path="file2") resource2.copy_scan_results(from_instance=resource, save=True) resource.refresh_from_db() - self.assertEqual(["mit"], resource2.license_expressions) + self.assertEqual("mit", resource2.detected_license_expression) def test_scanpipe_codebase_resource_queryset_methods(self): CodebaseResource.objects.all().delete() @@ -1064,15 +982,15 @@ def test_scanpipe_codebase_resource_queryset_methods(self): self.assertIn(directory, qs) self.assertNotIn(symlink, qs) - file.licenses = [{"key": "bsd-new", "name": "BSD-3-Clause"}] + file.license_detections = [{"license_expression": "bsd-new"}] file.save() - qs = CodebaseResource.objects.has_licenses() + qs = CodebaseResource.objects.has_license_detections() self.assertEqual(1, len(qs)) self.assertIn(file, qs) self.assertNotIn(directory, qs) self.assertNotIn(symlink, qs) - qs = CodebaseResource.objects.has_no_licenses() + qs = CodebaseResource.objects.has_no_license_detections() self.assertEqual(2, len(qs)) self.assertNotIn(file, qs) self.assertIn(directory, qs) @@ -1081,19 +999,7 @@ def test_scanpipe_codebase_resource_queryset_methods(self): qs = CodebaseResource.objects.unknown_license() self.assertEqual(0, len(qs)) - file.license_expressions = ["gpl-3.0", "unknown"] - file.save() - qs = CodebaseResource.objects.unknown_license() - self.assertEqual(1, len(qs)) - self.assertIn(file, qs) - - file.license_expressions = ["unknown AND mit", "gpl-3.0-plus"] - file.save() - qs = CodebaseResource.objects.unknown_license() - self.assertEqual(1, len(qs)) - self.assertIn(file, qs) - - file.license_expressions = ["gpl-3.0-plus OR unknown"] + file.detected_license_expression = "gpl-3.0 AND unknown" file.save() qs = CodebaseResource.objects.unknown_license() self.assertEqual(1, len(qs)) @@ -1103,7 +1009,7 @@ def test_scanpipe_codebase_resource_queryset_methods(self): self.assertEqual(0, qs.count()) qs = CodebaseResource.objects.has_value("type") self.assertEqual(3, qs.count()) - qs = CodebaseResource.objects.has_value("license_expressions") + qs = CodebaseResource.objects.has_value("detected_license_expression") self.assertEqual(1, qs.count()) qs = CodebaseResource.objects.has_value("copyrights") self.assertEqual(0, qs.count()) @@ -1145,38 +1051,6 @@ def test_scanpipe_codebase_resource_queryset_methods(self): self.assertEqual(1, CodebaseResource.objects.from_codebase().count()) self.assertEqual(2, CodebaseResource.objects.to_codebase().count()) - def test_scanpipe_codebase_resource_queryset_licenses_categories(self): - CodebaseResource.objects.all().delete() - - resource1 = CodebaseResource.objects.create( - project=self.project1, - path="1", - licenses=[{"key": "gpl-3.0", "category": "Copyleft"}], - ) - - resource2 = CodebaseResource.objects.create( - project=self.project1, - path="2", - licenses=[{"key": "lgpl-3.0-plus", "category": "Copyleft Limited"}], - ) - - resource_qs = self.project1.codebaseresources - - categories = ["Permissive"] - self.assertQuerySetEqual([], resource_qs.licenses_categories(categories)) - - categories = ["Copyleft"] - expected = [resource1] - self.assertQuerySetEqual(expected, resource_qs.licenses_categories(categories)) - - categories = ["Copyleft Limited"] - expected = [resource2] - self.assertQuerySetEqual(expected, resource_qs.licenses_categories(categories)) - - categories = ["Copyleft", "Copyleft Limited"] - expected = [resource1, resource2] - self.assertQuerySetEqual(expected, resource_qs.licenses_categories(categories)) - def _create_resources_for_queryset_methods(self): resource1 = CodebaseResource.objects.create(project=self.project1, path="1") resource1.holders = [ @@ -1512,6 +1386,48 @@ def test_scanpipe_discovered_package_model_update_from_data(self): self.assertEqual(["description"], updated_fields) self.assertEqual(new_data["description"], package.description) + def test_scanpipe_discovered_package_get_declared_license_expression_spdx(self): + package = DiscoveredPackage.create_from_data(self.project1, package_data1) + expression = "gpl-2.0 AND gpl-2.0-plus" + spdx = "GPL-2.0-only AND GPL-2.0-or-later" + + self.assertEqual(expression, package.declared_license_expression) + self.assertEqual(spdx, package.declared_license_expression_spdx) + self.assertEqual(spdx, package.get_declared_license_expression_spdx()) + + package.declared_license_expression_spdx = "" + package.save() + self.assertEqual(expression, package.declared_license_expression) + self.assertEqual("", package.declared_license_expression_spdx) + self.assertEqual(spdx, package.get_declared_license_expression_spdx()) + + package.declared_license_expression = "" + package.save() + self.assertEqual("", package.declared_license_expression) + self.assertEqual("", package.declared_license_expression_spdx) + self.assertEqual("", package.get_declared_license_expression_spdx()) + + def test_scanpipe_discovered_package_get_declared_license_expression(self): + package = DiscoveredPackage.create_from_data(self.project1, package_data1) + expression = "gpl-2.0 AND gpl-2.0-plus" + spdx = "GPL-2.0-only AND GPL-2.0-or-later" + + self.assertEqual(expression, package.declared_license_expression) + self.assertEqual(spdx, package.declared_license_expression_spdx) + self.assertEqual(expression, package.get_declared_license_expression()) + + package.declared_license_expression = "" + package.save() + self.assertEqual("", package.declared_license_expression) + self.assertEqual(spdx, package.declared_license_expression_spdx) + self.assertEqual(expression, package.get_declared_license_expression()) + + package.declared_license_expression_spdx = "" + package.save() + self.assertEqual("", package.declared_license_expression) + self.assertEqual("", package.declared_license_expression_spdx) + self.assertEqual("", package.get_declared_license_expression_spdx()) + def test_scanpipe_discovered_package_model_add_resources(self): package = DiscoveredPackage.create_from_data(self.project1, package_data1) resource1 = CodebaseResource.objects.create(project=self.project1, path="file1") @@ -1543,7 +1459,7 @@ def test_scanpipe_discovered_package_model_as_cyclonedx(self): self.assertEqual(purl, str(cyclonedx_component.bom_ref)) self.assertEqual(purl, cyclonedx_component.purl) self.assertEqual(1, len(cyclonedx_component.licenses)) - expected = "GPL-2.0-only AND GPL-2.0-or-later AND LicenseRef-scancode-unknown" + expected = "GPL-2.0-only AND GPL-2.0-or-later" self.assertEqual(expected, cyclonedx_component.licenses[0].expression) self.assertEqual(package_data1["copyright"], cyclonedx_component.copyright) self.assertEqual(package_data1["description"], cyclonedx_component.description) @@ -1730,9 +1646,8 @@ def test_scanpipe_discovered_package_model_create_from_data(self): self.assertEqual("arch=all", package.qualifiers) self.assertEqual("add and remove users and groups", package.description) self.assertEqual("849", package.size) - self.assertEqual( - "gpl-2.0 AND gpl-2.0-plus AND unknown", package.license_expression - ) + expected = "gpl-2.0 AND gpl-2.0-plus" + self.assertEqual(expected, package.declared_license_expression) package_count = DiscoveredPackage.objects.count() incomplete_data = dict(package_data1) @@ -1847,9 +1762,26 @@ def test_scanpipe_codebase_resource_create_and_add_package_errors(self): self.assertIn("in save", error.traceback) def test_scanpipe_package_model_integrity_with_toolkit_package_model(self): - toolkit_package_fields = [field.name for field in PackageData.__attrs_attrs__] - discovered_packages_fields = [ - field.name for field in DiscoveredPackage._meta.get_fields() + scanpipe_only_fields = [ + "id", + "uuid", + "project", + "missing_resources", + "modified_resources", + "codebase_resources", + "package_uid", + "filename", + ] + + discovered_package_fields = [ + field.name + for field in DiscoveredPackage._meta.get_fields() + if field.name not in scanpipe_only_fields ] - for toolkit_field_name in toolkit_package_fields: - self.assertIn(toolkit_field_name, discovered_packages_fields) + toolkit_package_fields = [field.name for field in PackageData.__attrs_attrs__] + + for toolkit_field in toolkit_package_fields: + self.assertIn(toolkit_field, discovered_package_fields) + + for scanpipe_field in discovered_package_fields: + self.assertIn(scanpipe_field, toolkit_package_fields) diff --git a/scanpipe/tests/test_pipelines.py b/scanpipe/tests/test_pipelines.py index e78269de6b..3b457d39b9 100644 --- a/scanpipe/tests/test_pipelines.py +++ b/scanpipe/tests/test_pipelines.py @@ -380,7 +380,8 @@ def test_scanpipe_scan_package_pipeline_integration_multiple_packages_test(self) scancode_file = project1.get_latest_output(filename="scancode") expected_file = self.data_location / "multiple-is-npm-1.0.0_scan_package.json" - self.assertPipelineResultEqual(expected_file, scancode_file) + # Do not override the regen as this file is generated in regen_test_data + self.assertPipelineResultEqual(expected_file, scancode_file, regen=False) summary_file = project1.get_latest_output(filename="summary") expected_file = ( @@ -719,7 +720,7 @@ def test_scanpipe_inspect_manifest_pipeline_aboutfile_integration_test(self): self.assertEqual("pypi", discoveredpackage.type) self.assertEqual("django", discoveredpackage.name) self.assertEqual("4.0.8", discoveredpackage.version) - self.assertEqual("bsd-new", discoveredpackage.license_expression) + self.assertEqual("bsd-new", discoveredpackage.declared_license_expression) def test_scanpipe_inspect_manifest_pipeline_spdx_integration_test(self): pipeline_name = "inspect_manifest" @@ -740,8 +741,8 @@ def test_scanpipe_inspect_manifest_pipeline_spdx_integration_test(self): self.assertEqual("toml", discoveredpackage.name) self.assertEqual("0.10.2", discoveredpackage.version) self.assertEqual("https://github.com/uiri/toml", discoveredpackage.homepage_url) - self.assertEqual("MIT", discoveredpackage.declared_license) - self.assertEqual("mit", discoveredpackage.license_expression) + self.assertEqual("MIT", discoveredpackage.extracted_license_statement) + self.assertEqual("mit", discoveredpackage.declared_license_expression) def test_scanpipe_inspect_manifest_pipeline_cyclonedx_integration_test(self): pipeline_name = "inspect_manifest" @@ -763,8 +764,8 @@ def test_scanpipe_inspect_manifest_pipeline_cyclonedx_integration_test(self): "type": "pypi", "name": "toml", "version": "0.10.2", - "declared_license": "OFL-1.1\nApache-2.0", - "license_expression": "ofl-1.1 AND unknown", + "extracted_license_statement": "OFL-1.1\nApache-2.0", + "declared_license_expression": "ofl-1.1 OR apache-2.0", "homepage_url": "https://cyclonedx.org/website", "bug_tracking_url": "https://cyclonedx.org/issue-tracker", "vcs_url": "https://cyclonedx.org/vcs", @@ -774,8 +775,8 @@ def test_scanpipe_inspect_manifest_pipeline_cyclonedx_integration_test(self): "type": "pypi", "name": "billiard", "version": "3.6.3.0", - "declared_license": "BSD-3-Clause", - "license_expression": "bsd-new", + "extracted_license_statement": "BSD-3-Clause", + "declared_license_expression": "bsd-new", "homepage_url": "", "bug_tracking_url": "", "vcs_url": "", @@ -786,12 +787,12 @@ def test_scanpipe_inspect_manifest_pipeline_cyclonedx_integration_test(self): "type": "pypi", "name": "fictional", "version": "9.10.2", - "declared_license": ( + "extracted_license_statement": ( "LGPL-3.0-or-later" " AND " "LicenseRef-scancode-openssl-exception-lgpl3.0plus" ), - "license_expression": ( + "declared_license_expression": ( "lgpl-3.0-plus AND openssl-exception-lgpl-3.0-plus" ), "homepage_url": "https://home.page", @@ -808,8 +809,14 @@ def test_scanpipe_inspect_manifest_pipeline_cyclonedx_integration_test(self): self.assertEqual(expected["name"], package.name) self.assertEqual(expected["version"], package.version) self.assertEqual(expected["homepage_url"], package.homepage_url) - self.assertEqual(expected["declared_license"], package.declared_license) - self.assertEqual(expected["license_expression"], package.license_expression) + self.assertEqual( + expected["extracted_license_statement"], + package.extracted_license_statement, + ) + self.assertEqual( + expected["declared_license_expression"], + package.declared_license_expression, + ) self.assertEqual(expected["filename"], package.filename) def test_scanpipe_deploy_to_develop_pipeline_integration_test(self): diff --git a/scanpipe/tests/test_views.py b/scanpipe/tests/test_views.py index f9991b0b3d..410d27902c 100644 --- a/scanpipe/tests/test_views.py +++ b/scanpipe/tests/test_views.py @@ -33,7 +33,6 @@ from scanpipe.models import Project from scanpipe.pipes import make_relation from scanpipe.pipes.input import copy_inputs -from scanpipe.tests import license_policies_index from scanpipe.tests import make_resource_file from scanpipe.views import ProjectDetailView @@ -212,25 +211,47 @@ def test_scanpipe_views_project_details_add_pipelines(self): self.assertEqual("docker", run.pipeline_name) self.assertIsNone(run.task_start_date) + def test_scanpipe_views_project_details_charts_view(self): + url = reverse("project_charts", args=[self.project1.uuid]) + + with self.assertNumQueries(9): + response = self.client.get(url) + + self.assertNotContains(response, 'id="package-charts"') + self.assertNotContains(response, 'id="dependency-charts"') + self.assertNotContains(response, 'id="resource-charts-charts"') + + CodebaseResource.objects.create( + project=self.project1, + programming_language="Python", + type=CodebaseResource.Type.FILE, + ) + + with self.assertNumQueries(12): + response = self.client.get(url) + self.assertContains(response, '{"Python": 1}') + def test_scanpipe_views_project_details_charts_compliance_alert(self): url = reverse("project_charts", args=[self.project1.uuid]) expected = 'id="compliance_alert_chart"' - scanpipe_app.license_policies_index = None response = self.client.get(url) self.assertNotContains(response, expected) - scanpipe_app.license_policies_index = license_policies_index response = self.client.get(url) self.assertNotContains(response, expected) - CodebaseResource.objects.create( + resource = CodebaseResource.objects.create( project=self.project1, - compliance_alert="error", type=CodebaseResource.Type.FILE, ) + CodebaseResource.objects.filter(id=resource.id).update( + compliance_alert=CodebaseResource.Compliance.ERROR + ) + response = self.client.get(url) self.assertContains(response, expected) + self.assertContains(response, '{"error": 1}') def test_scanpipe_views_project_details_scan_summary_panels(self): url = self.project1.get_absolute_url() @@ -449,20 +470,6 @@ def test_scanpipe_views_run_status_view(self): expected = 'Stopped' self.assertContains(response, expected) - def test_scanpipe_views_codebase_resource_details_annotations_missing_policy(self): - resource1 = CodebaseResource.objects.create( - project=self.project1, - path="resource1", - licenses=[{"key": "key", "policy": None, "start_line": 1, "end_line": 2}], - ) - url = resource1.get_absolute_url() - - response = self.client.get(url) - expected = ( - '{"start_line": 1, "end_line": 2, "text": null, "className": "ace_info"}' - ) - self.assertContains(response, expected) - def test_scanpipe_views_codebase_relation_list_view_count(self): url = reverse("project_relations", args=[self.project1.uuid]) diff --git a/scanpipe/views.py b/scanpipe/views.py index a382b46cbc..3c3462cbec 100644 --- a/scanpipe/views.py +++ b/scanpipe/views.py @@ -509,6 +509,22 @@ def get_scan_summary_data(scan_summary_json): return summary_data + def check_run_scancode_version(self, pipeline_runs, version_limit="32.2.0"): + """ + Display a warning message if one of the ``pipeline_runs`` scancodeio_version + is prior to or currently is ``old_version``. + """ + if run_versions := [run.scancodeio_version for run in pipeline_runs]: + message = ( + "WARNING: Some this project pipelines have been run with an " + "out of date ScanCode-toolkit version.\n" + "The scan data was migrated, but it is recommended to reset the " + "project and re-run the pipelines to benefit from the latest " + "scan results improvements." + ) + if min(run_versions) <= version_limit: + messages.warning(self.request, message) + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) project = self.object @@ -544,6 +560,9 @@ def get_context_data(self, **kwargs): resource_status_summary = count_group_by(project.codebaseresources, "status") + pipeline_runs = project.runs.all() + self.check_run_scancode_version(pipeline_runs) + context.update( { "inputs_with_source": inputs, @@ -553,6 +572,7 @@ def get_context_data(self, **kwargs): "resource_status_summary": resource_status_summary, "license_clarity": license_clarity, "scan_summary": scan_summary, + "pipeline_runs": pipeline_runs, "codebase_root": codebase_root, } ) @@ -590,9 +610,15 @@ class ProjectChartsView(ConditionalLoginRequired, ProjectViewMixin, generic.Deta @staticmethod def get_summary(values_list, limit=settings.SCANCODEIO_MOST_COMMON_LIMIT): - most_common = dict(Counter(values_list).most_common(limit)) + counter = Counter(values_list) - other = len(values_list) - sum(most_common.values()) + has_only_empty_string = list(counter.keys()) == [""] + if has_only_empty_string: + return {} + + most_common = dict(counter.most_common(limit)) + + other = sum(counter.values()) - sum(most_common.values()) if other > 0: most_common["Other"] = other @@ -606,70 +632,53 @@ def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) project = self.object - files_qs = project.codebaseresources.files() + file_filter = self.request.GET.get("file-filter") + context["file_filter"] = file_filter - file_filter = self.request.GET.get("file-filter", "all") + files = project.codebaseresources.files() if file_filter == "in-a-package": - files_qs = files_qs.in_package() + files = files.in_package() elif file_filter == "not-in-a-package": - files_qs = files_qs.not_in_package() - - files = files_qs.only( - "programming_language", - "mime_type", - "holders", - "copyrights", - "license_expressions", - ) - - packages = project.discoveredpackages.all().only( - "type", - "license_expression", - ) - - dependencies = project.discovereddependencies.all().only( - "is_runtime", - "is_optional", - "is_resolved", - ) - - file_languages = files.values_list("programming_language", flat=True) - file_mime_types = files.values_list("mime_type", flat=True) - file_holders = files.values_from_json_field("holders", "holder") - file_copyrights = files.values_from_json_field("copyrights", "copyright") - file_license_keys = files.values_from_json_field("licenses", "key") - file_license_categories = files.values_from_json_field("licenses", "category") - - file_compliance_alert = [] - if scanpipe_app.policies_enabled: - file_compliance_alert = files.values_list("compliance_alert", flat=True) + files = files.not_in_package() + + charts = { + "file": { + "queryset": files, + "fields": [ + "programming_language", + "mime_type", + "holders", + "copyrights", + "detected_license_expression", + "compliance_alert", + ], + }, + "package": { + "queryset": project.discoveredpackages, + "fields": ["type", "declared_license_expression"], + }, + "dependency": { + "queryset": project.discovereddependencies, + "fields": ["type", "is_runtime", "is_optional", "is_resolved"], + }, + } - package_licenses = packages.values_list("license_expression", flat=True) - package_types = packages.values_list("type", flat=True) + for group_name, spec in charts.items(): + fields = spec["fields"] + # Clear the un-needed ordering to get faster queries + qs_values = spec["queryset"].values(*fields).order_by() + + for field_name in fields: + if field_name in ["holders", "copyrights"]: + field_values = ( + data.get(field_name[:-1]) + for entry in qs_values + for data in entry.get(field_name, []) + ) + else: + field_values = (entry[field_name] for entry in qs_values) - dependency_package_type = dependencies.values_list("type", flat=True) - dependency_is_runtime = dependencies.values_list("is_runtime", flat=True) - dependency_is_optional = dependencies.values_list("is_optional", flat=True) - dependency_is_resolved = dependencies.values_list("is_resolved", flat=True) - - context.update( - { - "programming_languages": self.get_summary(file_languages), - "mime_types": self.get_summary(file_mime_types), - "holders": self.get_summary(file_holders), - "copyrights": self.get_summary(file_copyrights), - "file_license_keys": self.get_summary(file_license_keys), - "file_license_categories": self.get_summary(file_license_categories), - "file_compliance_alert": self.get_summary(file_compliance_alert), - "package_licenses": self.get_summary(package_licenses), - "package_types": self.get_summary(package_types), - "dependency_package_type": self.get_summary(dependency_package_type), - "dependency_is_runtime": self.get_summary(dependency_is_runtime), - "dependency_is_optional": self.get_summary(dependency_is_optional), - "dependency_is_resolved": self.get_summary(dependency_is_resolved), - "file_filter": file_filter, - } - ) + context[f"{group_name}_{field_name}"] = self.get_summary(field_values) return context @@ -861,7 +870,7 @@ class CodebaseResourceListView( "programming_language", "mime_type", "tag", - "license_expressions", + "detected_license_expression", { "field_name": "compliance_alert", "condition": scanpipe_app.policies_enabled, @@ -890,7 +899,7 @@ class DiscoveredPackageListView( prefetch_related = ["codebase_resources"] table_columns = [ "package_url", - "license_expression", + "declared_license_expression", "copyright", "primary_language", "resources", @@ -1051,7 +1060,14 @@ class CodebaseResourceDetailsView( }, "detection": { "fields": [ - {"field_name": "license_expressions", "render_func": render_as_yaml}, + "detected_license_expression", + { + "field_name": "detected_license_expression_spdx", + "label": "Detected license expression (SPDX)", + }, + {"field_name": "license_detections", "render_func": render_as_yaml}, + {"field_name": "license_clues", "render_func": render_as_yaml}, + "percentage_of_license_text", {"field_name": "copyrights", "render_func": render_as_yaml}, {"field_name": "holders", "render_func": render_as_yaml}, {"field_name": "authors", "render_func": render_as_yaml}, @@ -1090,59 +1106,58 @@ class CodebaseResourceDetailsView( } @staticmethod - def get_annotation_text(entry, field_name, value_key): - """ - Get the license_expression until the data structure is updated on the - ScanCode-toolkit side. - https://github.com/nexB/scancode-results-analyzer/blob/6c132bc20153d5c96929c - f378bd0f06d83db9005/src/results_analyze/analyzer_plugin.py#L131-L198 - """ - if field_name == "licenses": - return entry.get("matched_rule", {}).get("license_expression") - return entry.get(value_key) - - def get_annotations(self, field_name, value_key="value"): + def get_annotations(entries, value_key): annotations = [] + annotation_type = "info" - for entry in getattr(self.object, field_name): - annotation_type = "info" - - # Customize the annotation icon based on the policy compliance_alert - policy = entry.get("policy") - if policy: - compliance_alert = policy.get("compliance_alert", None) - annotation_type = self.annotation_types.get(compliance_alert) - + for entry in entries: annotations.append( { "start_line": entry.get("start_line"), "end_line": entry.get("end_line"), - "text": self.get_annotation_text(entry, field_name, value_key), + "text": entry.get(value_key), "className": f"ace_{annotation_type}", } ) return annotations + def get_license_annotations(self, field_name): + annotations = [] + + for entry in getattr(self.object, field_name): + matches = entry.get("matches", []) + annotations.extend(self.get_annotations(matches, "license_expression")) + + return annotations + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) + resource = self.object try: - context["file_content"] = self.object.file_content + context["file_content"] = resource.file_content except OSError: context["missing_file_content"] = True message = "WARNING: This resource is not available on disk." messages.warning(self.request, message) + license_annotations = self.get_license_annotations("license_detections") context["detected_values"] = { - "licenses": self.get_annotations("licenses"), - "copyrights": self.get_annotations("copyrights"), - "holders": self.get_annotations("holders"), - "authors": self.get_annotations("authors"), - "emails": self.get_annotations("emails", value_key="email"), - "urls": self.get_annotations("urls", value_key="url"), + "licenses": license_annotations, } + fields = [ + ("copyrights", "copyright"), + ("holders", "holder"), + ("authors", "author"), + ("emails", "email"), + ("urls", "url"), + ] + for field_name, value_key in fields: + annotations = self.get_annotations(getattr(resource, field_name), value_key) + context["detected_values"][field_name] = annotations + return context @@ -1180,7 +1195,11 @@ class DiscoveredPackageDetailsView( "essentials": { "fields": [ "package_url", - "license_expression", + "declared_license_expression", + { + "field_name": "declared_license_expression_spdx", + "label": "Declared license expression (SPDX)", + }, "primary_language", "homepage_url", "download_url", @@ -1198,10 +1217,25 @@ class DiscoveredPackageDetailsView( }, "terms": { "fields": [ - "license_expression", - "declared_license", + "declared_license_expression", + { + "field_name": "declared_license_expression_spdx", + "label": "Declared license expression (SPDX)", + }, + "other_license_expression", + { + "field_name": "other_license_expression_spdx", + "label": "Other license expression (SPDX)", + }, + "extracted_license_statement", "copyright", + "holder", "notice_text", + {"field_name": "license_detections", "render_func": render_as_yaml}, + { + "field_name": "other_license_detections", + "render_func": render_as_yaml, + }, ], "icon_class": "fas fa-file-contract", }, @@ -1228,8 +1262,6 @@ class DiscoveredPackageDetailsView( {"field_name": "parties", "render_func": render_as_yaml}, "missing_resources", "modified_resources", - "manifest_path", - "contains_source_code", "package_uid", ], "icon_class": "fas fa-plus-square", diff --git a/setup.cfg b/setup.cfg index 3573381828..d73da070f9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -71,7 +71,7 @@ install_requires = # Docker container-inspector==32.0.1 # ScanCode-toolkit - scancode-toolkit[packages]==31.2.6 + scancode-toolkit[packages]==32.0.0rc4 extractcode[full]==31.0.0 commoncode==31.0.2 # FetchCode